Dogs Of War Vu

Sim/Strategy/War => Games Discussion => Topic started by: Asid on April 05, 2018, 02:40:36 PM

Title: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 05, 2018, 02:40:36 PM
(https://pbs.twimg.com/media/DZUFlKgU8AAEQmC.jpg)

Return to the Forgotten Realms in this bestselling Dungeons & Dragons roleplaying game. Combines all the content of Neverwinter Nights Diamond Edition with all-new enhanced features. Includes 100+ hours of award-winning adventures and the tools to create your own!


Official Site: Here (http://nwn.beamdog.com/)
Forum: Here (https://forums.beamdog.com/categories/neverwinter-nights)
Steam: Here (http://store.steampowered.com/app/704450/Neverwinter_Nights_Enhanced_Edition/)


Single-player, Online Multi-Player, Online Co-op



Trailer
https://youtu.be/_exxVIpfA3s



About

Neverwinter Nights: Enhanced Edition adds all-new enhanced features to the content of Neverwinter Nights Diamond Edition.

Slink through the shadows as a deadly half-elven rogue, wield fearsome magics as a powerful gnomish sorcerer, vanquish your foes as an armor-clad dwarven paladin... whatever hero you create, incredible adventures await.

Discover magic, wonder, and danger at every turn on your own or with friends in these classic Dungeons & Dragons adventures.


Enhanced Features:

•   Improved Display: Your portrait, combat bar, inventory, and other UI elements adjust in size based on your chosen resolution including 1080p and 4k.

•   Advanced Graphics Options: Pixel shaders and post-processing effects make for crisper, cleaner visuals. Enable contrast, vibrance, and depth of field options as preferred.

•   Community Endorsed: Original developers have teamed with key members of the Neverwinter Nights community to curate important fan-requested improvements to support players, storytellers, and modders.

•   Backwards Compatibility: Works with save games, modules, and mods from the original Neverwinter Nights. A galaxy of community created content awaits.

All the content of Neverwinter Nights Diamond Edition:
The original Neverwinter Nights campaign: Find yourself at the center of intrigue, betrayal, and dark magic in Neverwinter Nights. Journey through dangerous cities, monster filled dungeons and deep into uncharted wilderness in search of the cure for a cursed plague ravaging the city of Neverwinter.

Two expansion packs:

•   Shadows of Undrentide: Another adventure begins in Shadows of Undrentide! Charged by your master to recover four ancient artifacts, travel from the Silver Marches to unravel mysteries of a long-dead magical civilization.

•   Hordes of the Underdark: Continue the adventure started in Shadows of Undrentide and journey into the ever-more bizarre and hostile depths of Undermountain to challenge a gathering evil.

Three premium modules:
Discover over 40 hours of new stories, then go on to sample the hundreds of modules created by community members just like you.

•   Kingmaker
•   ShadowGuard
•   Witch’s Wake

The Aurora Toolset: Build your own world full of unique monsters, items, traps, encounters, and settings, then share your creation with the rest of the Neverwinter Nights community. (Windows only)

Dungeon Master Client: Become the storyteller! Control monsters, creatures, and characters your players will meet over the course of an adventure.


(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_6d71af16466a9f725a969044dcae96ea76939f11.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_0a9e11b96e2056f54c156f51bff2cdfa7f1f65c1.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_29949cb853184998c3030b16cba1d16e6ac5291e.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_c736f10e04b1d74e02fcb62f86a3ab84b09c3bb2.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_df01ca9560393036d7724fb7dc698a2600e3a77e.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_04ad980bb1c55226d666448db00843b5a076d761.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_0cca4eb00863202adfc0b65f86c1bc159a81f9b0.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_9d1f5e8efce80ecaf66180c6fb5d40b44a30389b.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_b4229d682505cdb6becb9004c42fb9a8ae36514d.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_412de40cb36128546ff7fd7c71c2e329f758e9be.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_228c57fc9baa5cc6bfbd533c5a77c872511e399a.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_8c1e031c56e47ad0cd40cd56db92af6ac6720f7c.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_927609488f54eb46e4f08e3f39751b353eb86850.1920x1080.jpg?t=1522173840)

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_0add8883cdde38c0e818f092f64672d5e3b15d4c.1920x1080.jpg?t=1522173840)

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 11, 2018, 08:11:24 PM
NWN:EE Development Build 8167 Notes
10 APRIL - MERRO

last week v8167 was released on the Development Build containing a few small changes.

Known Issues Since Last Build
•   Intel related crashing issues.

Other Fixes
•   The multiplayer server browser UI has been fixed to work properly on 2x scaled UI at 1080p.

Features
•   Increased maximum player name length from 32 characters to 127.
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 18, 2018, 12:02:31 AM
NWN:EE Development Build 8168 Notes
17 APRIL - MERRO

Known Issues Since Last Build
Ongoing Intel-related crashing problems. The team continues to work on this issue.

Fixes
•   Sound: Some undefined behaviour fixes that would have resulted in audio corruption.
•   Movie playback on case-sensitive file systems (Linux) and languages with mismatching case movie files has been fixed.
•   SDL has been updated to fix more of the remaining window handling/fullscreen issues.
•   A buffer overflow in the script compiler has been fixed when many includes were nested.
•   A buffer overflow in the script compiler for terrifyingly large scripts has been fixed.
•   Toolset: Music delay changing after area save has been fixed.
•   Aurora (renderer): Performance optimisation where we don’t re-upload some vertex data to the GPU every frame needlessly.

Features
•   The multiplayer server browser now default-sorts by player count, descending.
•   Steam Workshop now logs to the player log for activity (like progress).
•   Double quotes (“) can now be escaped in nwscript (\”).
•   The toolset can now open unpacked modules: You need to have it unpacked in a directory the same name as the .mod file (without the .mod extension).
•   Materials: .mtr files can now specify “renderhint”; mesh-specific definitions overrides this.
•   Materials: Meshes don’t require a texture if a .mtr was set.
•   Materials: In the mesh definition, “bitmap”/”texture0” can be used to define the material instead of “materialname”.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 21, 2018, 01:34:23 AM
Great Axes

This workshop submission is a remake of the Great Axe models from Neverwinter Nights. They now support normal and spec information. There are 48 models in total, which will override the existing Great Axe models. All of these pieces are modular and can be mixed and matched, which is in line with the base game setup.

https://steamcommunity.com/sharedfiles/filedetails/?id=1365965947

(https://steamuserimages-a.akamaihd.net/ugc/2425628385211612164/D3590E1183E3232AC80A789523E3D3B66A4F7EAC/)
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 27, 2018, 07:32:59 PM
Neverwinter Nights: Enhanced Edition Development Build 8169
27 April - Merro

Neverwinter Nights: Enhanced Edition development build 8169 is coming your way. Enjoy these patch notes as the build uploads.

Known Issues
•   We are working with Intel engineers to track down the crash and performance issues we’re seeing on Intel HD GPUs.
Other
•   We renamed “Head Start” on Beamdog Client to “Development” to avoid further confusion. “Development” is the Beta branch where new test releases will ship just like with Head Start before. Persistent Worlds are advised to stick to the stable branch.
•   Beamdog credits updated

Fixes
•   NWN:EE can now accept cyrillic key input again; and display as well, if a suitable (community-made) font override is provided. This is a stopgap measure to support our russian friends while we work on proper UTF-8 support.
•   NWScript: Fixed a crash in GetAreaSize() when it was called with the module as the area.
•   We added some basic protection against packet flooding that was seen recently.
•   We fixed stopping/resuming audio playback when a audio device is (re)connected.
•   Saving and loading ShadowGuard premium module savegames has been fixed.
•   Player name checks are now case-insensitive for purposes of locking names to public keys.

Features
•   New dynamic contrast shader version by Sψren Mψller (Zarathustra217).
•   New SSAO shader version by Sψren Mψller (Zarathustra217).
•   The player cap for a single server has been increased to 255 (from 96). (Hint: You can still reserve DM slots by setting a lower limit.)
•   The Chat Log and Combat Log UI now remember their size between play sessions (in the .ini); they also remember split mode/combined mode.
•   Object Visual Transformations: You can now scale, translate, rotate the following game objects: Creatures (including players), Items (including held/wielded), Placeables (dynamic only), Doors. You can also adjust the animation speed independently from object scale. This transformation is visual only and has no effect on walkmesh or personal space.

NWScript Additions
Code: [Select]
int OBJECT_VISUAL_TRANSFORM_SCALE = 10;
int OBJECT_VISUAL_TRANSFORM_ROTATE_X = 21;
int OBJECT_VISUAL_TRANSFORM_ROTATE_Y = 22;
int OBJECT_VISUAL_TRANSFORM_ROTATE_Z = 23;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_X = 31;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y = 32;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z = 33;
int OBJECT_VISUAL_TRANSFORM_ANIMATION_SPEED = 40;

// Gets a visual transform on the given object.
// - oObject can be any valid Creature, Placeable, Item or Door.
// - nTransform is one of OBJECT_VISUAL_TRANSFORM_*
// Returns the current (or default) value.
float GetObjectVisualTransform(object oObject, int nTransform);

// Sets a visual transform on the given object.
// - oObject can be any valid Creature, Placeable, Item or Door.
// - nTransform is one of OBJECT_VISUAL_TRANSFORM_*
// - fValue depends on the transformation to apply.
// Returns the old/previous value.
float SetObjectVisualTransform(object oObject, int nTransform, float fValue);
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 05, 2018, 07:32:09 PM
Neverwinter Nights: Enhanced Edition Development Build 8170
4 May - niv

Neverwinter Nights: Enhanced Edition 8170 has shipped to the development branch today. We're now stabilising and working our way towards a 1.75 stable release in the coming weeks.

Known Issues
•   We are working with Intel engineers to track down the crash and performance issues we’re seeing on Intel HD GPUs.
•   We are aware of the Whirlwind bug. It will be addressed soon.

Fixes
•   Sound: We fixed an issue where playing weapon hit sounds would access freed memory, sometimes resulting in playing the wrong sound.
•   UI: We fixed the flickering text on loading screens.
•   UI: We fixed Escape not working on some main menu panels.
•   Renderer: We fixed rendering animated meshes without animations as static (for example, seen as disappearing water on tno01_v20_02).
•   Object Visual Transforms: We fixed an issue where held-item scaling would reset after a spell was cast.
•   Networking: We fixed some issues with masterserver DNS resolving that would, in rare circumstances, drop servers from the master list.

Features
•   Materials: We’ve added script calls that allow overriding shader uniforms on materials. This is still work in progress. Yet more flexibility is to come.
•   Translations/LocStrings: We’ve made it so that when looking up translated strings (for example, in object descriptions), we first consider the opposite gender before falling back to english.
•   Networking: We’re working on detecting port-hopping resulting from bad NAT on the server side.
•   UI: All-metallic colours are now animated in the character creation colour picker UI.
•   Toolset: You can now move objects along the Z axis by holding down the Alt key and moving the mouse.
•   Utils: We’ve re-added nwhak.exe and gffeditor.exe to the game download. nwhak.exe now understands all new res types (like .mtr).

NWScript Additions
Code: [Select]
// Sets an integer material shader uniform override.
// - sMaterial needs to be a material on that object.
// - sParam needs to be a valid shader parameter already defined on the material. void SetMaterialShaderUniformInt(object oObject, string sMaterial, string sParam, int nValue);
// Sets a vec4 material shader uniform override.
// - sMaterial needs to be a material on that object.
// - sParam needs to be a valid shader parameter already defined on the material.
// - You can specify a single float value to set just a float, instead of a vec4. void SetMaterialShaderUniformVec4(object oObject, string sMaterial, string sParam, float fValue1, float fValue2 = 0.0, float fValue3 = 0.0, float fValue4 = 0.0);
// Resets material shader parameters on the given object:
// - Supply a material to only reset shader uniforms for meshes with that material.
// - Supply a parameter to only reset shader uniforms of that name.
// - Supply both to only reset shader uniforms of that name on meshes with that material. void ResetMaterialShaderUniforms(object oObject, string sMaterial = "", string sParam = "");

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 13, 2018, 12:00:07 AM
Neverwinter Nights: Enhanced Edition Development Build 8171
11 May - niv

Development build 8171 for Neverwinter Nights: Enhanced Edition is available now.

We intend to ship the next stable release (1.75) soon. Please give this development patch a good test, and as always - your issue reports on support.baldursgate.com are read and appreciated.

As usual, we will be collaborating with the NWNXEE developers to make sure everything is ready for persistent worlds to migrate in a timely manner.

Known Issues
•   We are working with Intel engineers to track down the crash and performance issues we’re seeing on Intel HD GPUs.

Features
•   Material shader params (added in 8170) are now persisted to gff data (player character vaults, save games).

Fixes
•   We fixed a crash when setting shader parameters on objects without an animation base.
•   ShadowGuard premium module autosave/quicksave naming has been corrected.
•   A crash when joining a server with haks was fixed.
•   The Whirlwind attack feat has been fixed.
•   We fixed an issue with some creatures not spawning lootable corpses.
•   We fixed the area background fog going all black in some areas.
•   We fixed the following script events for player characters: OnSpellCastAt, OnMeleeAttacked, OnPerception, and OnCombatRoundEnd.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 31, 2018, 12:01:23 AM
Neverwinter Nights: Enhanced Edition Development Build 8174
25 May - niv

Development build 8174 for Neverwinter Nights: Enhanced Edition is now available.

This build is the release candidate for 1.75! We would appreciate any and all testing you can give it.

If all goes well, we will ship this build as 1.75. This will give NWNX:EE time to prepare ahead of time, and also allow server admins to test and migrate over the coming days.

We'll make sure to keep everyone appraised on timing!

Known Issues
•   We are working with Intel engineers to track down the crash and performance issues we’re seeing on Intel HD GPUs.
•   We are aware of some premium modules not working properly in multiplayer, and are looking into that.

Features
•   We’ve added a new, more dynamic depth of field shader kindly provided by Sψren Mψller.
•   We added the livestream contest winner portrait (po_exornova).

Fixes
•   Regression: We fixed the New Game server settings UI not being interactable.
•   Regression: We fixed the New Game server settings UI disappearing after backing out from character selection.
•   The Polish high-res font has been amended to include all needed special characters.
•   HAK and TLK preloading is now checked immediately upon connection; not after character creation. This fixes an issue where players would attempt to join a server with missing haks, only to be kicked after character creation.
•   We fixed the Connect button on the Server Details pane not working properly.
•   We also fixed the Previous/Next buttons not greying out the Connect button as required. We fixed a crash where ActionTakeItem would fail to deposit an item in a full inventory.
•   We fixed OnMeleeAttacked and OnDamaged not firing on creatures.
•   We fixed the character creation model viewer crashing for racial type appearances without a valid model.
•   We fixed the racial selection screen title having the class selection title.
•   We fixed Linux Fullscreen mode.
•   We fixed “Stereo WAV in 3D Positional Sound” popping up erroneously in the toolset.
•   We fixed the toolset not displaying spells or feats on character sheets.
•   We’re now applying FBOs (full-screen post processing effects) in a predefined order to avoid visual corruption when un/checking them in the UI.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 31, 2018, 12:01:39 AM
Neverwinter Nights: Enhanced Edition Development Build 8175 [RC2]
30 May - niv

Development build 8175 for Neverwinter Nights: Enhanced Edition is here.

This build is the new and likely last release candidate for 1.75! We very much appreciate any feedback that comes in from the community.

Please try to break this build, and if you are adventurous, even update your server. Let us know if you run into any issues on the usual channels.

Known Issues
•   We continue to work with Intel engineers to track down the crash and performance issues we’re seeing on Intel HD GPUs. The moment we have a solution or workaround, we will ship a hotfix.
•   We are aware of some premium modules not working properly in multiplayer, and are looking into that.

Fixes
•   A crash in the sound system, most noticeable in the UI when clicking buttons. This may also fix 3d audio sources stuttering and hanging the game client.
•   We fixed an issue where the server time could become stuck when the module has many areas.
•   We fixed a very rare potential crash when removing many areas via DestroyArea() in the same script.
•   The SetTransitionTarget() script call did not always propagate changes to clients.
•   The “sqrt DOMAIN error” happening in the Toolset on compiled models without tangent data should finally be fixed.
•   A client crash was fixed when the server was attempting to add a visual effect while the client did not have an area loaded.
•   A client crash was fixed when the server was attempting to update a placeable the client did not know about.
•   An issue was fixed where doors would not be able to initiate conversations was fixed. The same change also fixes that the game would auto-assign a script to object events, instead of just overriding a empty one.
•   We fixed inventory PLT icons sometimes displaying the wrong colours.
•   We fixed an issue where the texture cache would sometimes pull the wrong image, potentially resulting in visual corruption on PLT textures.
•   We fixed a saving a game crashing when the thumbnail image could not be created.
•   The DOF shader has seen minor improvements to the blurring algorithm used.
•   The SSAO shader has seen minor improvements to improve visual accuracy.
•   We fixed the game crashing while exiting a module/game with a floating popup bubble active.
•   Beamdog credits have been updated.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on June 01, 2018, 05:39:18 PM
Neverwinter Nights: Enhanced Edition 1.75
Neverwinter Nights: Enhanced Edition - niv

We're shipping the next stable patch for Neverwinter Nights: Enhanced Edition. If you have been following the Development branch and it's announcements, you will know what to expect!

The full list of changes since v1.74 (Build 8166) is:

Server Changes

Features
•   The player cap for a single server has been increased to 255 (from 96).(Hint: You can still reserve DM slots by setting a lower limit.)
•   Increased the maximum player name length from 32 characters to 127.

Fixes
•   NWScript: Fixed a crash in GetAreaSize() when it was called with the module as the area.
•   We added some basic protection against packet flooding that was seen recently.
•   Player name checks are now case-insensitive for purposes of locking names to public keys.
•   Translations/LocStrings: We’ve made it so that when looking up translated strings (for example, in object descriptions), we first consider the opposite gender before falling back to english.
•   Networking: We fixed some issues with masterserver DNS resolving that would, in rare circumstances, drop servers from the master list.
•   The Whirlwind attack feat has been fixed.
•   We fixed an issue with some creatures not spawning lootable corpses.
•   We fixed the following script events for player characters: OnDamaged, OnSpellCastAt, OnMeleeAttacked, OnPerception, and OnCombatRoundEnd.
•   We fixed a crash where ActionTakeItem would fail to deposit an item in a full inventory.
•   We fixed the server time getting stuck if the module had many areas.
•   We fixed a very rare crash when removing many areas via DestroyArea() in one script.
•   We fixed SetTransitionTarget() not propagating to clients in all cases.
•   Doors can now once again initiate conversations with players (via nw_g0_conversat).
•   Also, the game engine does not assign this script to doors, placeables and creatures with no script set anymore, instead just defaulting to it as a temporary override.

Client Changes

Features
•   The race selection UI in character generation is now a list (instead of pre-defined buttons) just like class selection.
•   Races can now have an icon; defined in the new “Icon” column in racialtypes.2da. This is up to custom content, as we do not currently ship icons for the builtin races.
•   New dynamic contrast shader by Sψren Mψller (Zarathustra217).
•   New SSAO shader by Sψren Mψller (Zarathustra217).
•   New Depth Of Field shader by Sψren Mψller (Zarathustra217).
•   Materials: .mtr files can now specify “renderhint”; mesh-specific definitions overrides this.
•   Materials: Meshes don’t require a texture if a .mtr was set.
•   Materials: In the mesh definition, “bitmap”/”texture0” can be used to define the material instead of “materialname”.
•   The Chat Log and Combat Log UI now remember their size between play sessions (in the .ini); they also remember split mode/combined mode.
•   UI: All-metallic colours are now animated in the character creation colour picker UI.
•   NWN:EE can now accept cyrillic key input again; and display as well, if a suitable (community-made) font override is provided. This is a stopgap measure to support our russian friends while we work on proper UTF-8 support.
•   Linux Fullscreen Mode is now properly supported.

Fixes
•   SDL has been updated.
•   A crash when joining a server with haks was fixed.
•   The multiplayer server browser UI has been fixed to work properly on 1080x2.
•   The multiplayer server browser now default-sorts by player count, descending.
•   Steam Workshop now logs to the player log for activity (like progress).
•   Movie playback on case-sensitive file systems (Linux) and languages with mismatching case movie files has been fixed.
•   Garbled sound issues have been fixed.
•   We fixed stopping/resuming audio playback when a audio device is (re)connected.
•   UI: We fixed the flickering text on loading screens.
•   Saving and loading ShadowGuard premium module savegames has been fixed.
•   UI: We fixed Escape not working on some main menu panels.
•   Renderer: We fixed rendering animated meshes without animations as static (for example, seen as disappearing water on tno01_v20_02).
•   Death Attack now shows properly in feat messages in the combat log.
•   Incorrectly rendered armour part colours in character generation have been fixed.
•   We added a workaround for an issue where servers would get confused by multiple clients behind NAT on on the same port.
•   Crash handlers have been improved to address issues with people not seeing the crash message, or not finding the right files to attach to a report.
•   We’re now applying FBOs (full-screen post processing effects) in a predefined order to avoid visual corruption when un/checking them in the UI.
•   We fixed the Connect button on the Server Details pane not working properly.
•   We also fixed the Previous/Next buttons not greying out the Connect button as required.
•   HAK and TLK preloading is now checked immediately upon connection; not after character creation. This fixes an issue where players would attempt to join a server with missing haks, only to be kicked after character creation.
•   The polish high-res font has been amended to include all needed special characters.
•   We fixed a crash in the 2D sound system.
•   We fixed an issue in the 3D sound system that would sometimes stutter or hang the game.
•   A client crash that would happen when the server sent a visual effect while the client was on a loading screen was addressed.
•   A client crash that would happen when the server sent a invalid placeable update was fixed.
•   We fixed inventory PLT icons sometimes displaying the wrong colours.
•   We addressed some issues with the builtin texture cache sometimes returning the wrong or no image, resulting in visual corruption on layered textures.
•   We fixed a crash issue with saving games when the thumbnail could not be generated.
•   We fixed the game crashing while exiting a module/game with a floating popup bubble active.

Content Creation Changes

Features
•   Object Visual Transformations: You can now scale, translate, rotate the following game objects: Creatures (including players), Items (including held/wielded), Placeables (dynamic only), Doors. You can also adjust the animation speed independently from object scale. This transformation is visual only and has no effect on walkmesh or personal space. (See Scripting Commands below.)
•   Materials: We’ve added script calls that allow overriding shader uniforms on materials.
•   Double quotes (“) can now be escaped in nwscript (\”).
•   The toolset can now open unpacked modules: You need to have it unpacked in a directory the same name as the .mod file (without the .mod extension).
•   Toolset: You can now move objects along the Z axis by holding down the Alt key and moving the mouse.
•   We added the livestream contest winner portrait (po_exornova).

Fixes
•   A crash in the script compiler has been fixed when many includes were nested.
•   Utils: We’ve re-added nwhak.exe and gffeditor.exe to the torrent. nwhak.exe now understands all new res types (like .mtr).
•   An issue where custom content tiles could not be laid down in the toolset (notably, Seasonal Forest) was fixed.
•   We fixed “Stereo WAV in 3D Positional Sound” popping up erroneously in the toolset.
•   We fixed the toolset not displaying spells or feats on character sheets.
•   We fixed "sqrt DOMAIN error" showing up on binary models without valid tangent data.

New Scripting Commands

Code: [Select]
int OBJECT_VISUAL_TRANSFORM_SCALE                        = 10;
int OBJECT_VISUAL_TRANSFORM_ROTATE_X                     = 21;
int OBJECT_VISUAL_TRANSFORM_ROTATE_Y                     = 22;
int OBJECT_VISUAL_TRANSFORM_ROTATE_Z                     = 23;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_X                  = 31;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y                  = 32;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z                  = 33;
int OBJECT_VISUAL_TRANSFORM_ANIMATION_SPEED              = 40;

// Gets a visual transform on the given object.
// - oObject can be any valid Creature, Placeable, Item or Door.
// - nTransform is one of OBJECT_VISUAL_TRANSFORM_*
// Returns the current (or default) value.
float GetObjectVisualTransform(object oObject, int nTransform);

// Sets a visual transform on the given object.
// - oObject can be any valid Creature, Placeable, Item or Door.
// - nTransform is one of OBJECT_VISUAL_TRANSFORM_*
// - fValue depends on the transformation to apply.
// Returns the old/previous value.
float SetObjectVisualTransform(object oObject, int nTransform, float fValue);

// Sets an integer material shader uniform override.
// - sMaterial needs to be a material on that object.
// - sParam needs to be a valid shader parameter already defined on the material.
void SetMaterialShaderUniformInt(object oObject, string sMaterial, string sParam, int nValue);

// Sets a vec4 material shader uniform override.
// - sMaterial needs to be a material on that object.
// - sParam needs to be a valid shader parameter already defined on the material.
// - You can specify a single float value to set just a float, instead of a vec4.
void SetMaterialShaderUniformVec4(object oObject, string sMaterial, string sParam, float fValue1, float fValue2 = 0.0, float fValue3 = 0.0, float fValue4 = 0.0);

// Resets material shader parameters on the given object:
// - Supply a material to only reset shader uniforms for meshes with that material.
// - Supply a parameter to only reset shader uniforms of that name.
// - Supply both to only reset shader uniforms of that name on meshes with that material.
void ResetMaterialShaderUniforms(object oObject, string sMaterial = "", string sParam = "");



Build 8176

v1.75 carries build 8176, which has not been shipped to Development. However, to keep you in the loop, the following changes were made since 8175:

Fixes

•   We fixed mainhand weapon visual effects not updating correctly.
•   We disabled audio hotplugging on Mac, as that resulted in severe audio stuttering. We also reduced the reinitialisation interval to 3 seconds, in case other platforms/systems are affected by this. Audio hotplugging on Mac will be re-enabled once we have time to properly develop and test a fix.



Build 8166

We added a Steam branch called "oldstable", which still contains Build 8166. If you have multiplayer servers that are still on 8166, you can stick to that branch and keep playing until they upgrade.
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on June 16, 2018, 04:26:25 PM
Neverwinter Nights: Enhanced Edition Development Build 8177
15 June - niv

Neverwinter Nights: Enhanced Edition Development Build 8177 is now available.

The full list of changes since v1.75 (Build 8176) is:

Known issues that will be addressed in a future patch
•   We continue to work with Intel engineers to track down the crash and performance issues we’re seeing on Intel HD GPUs.
•   On Linux, mouse clicks are offset from the cursor location when using UI scaling. Edit nwn.ini and set “Enable HardwareMouse=1” to work around this.
•   The game will hang when NPCs bump into a creature with a PERSPACE value of 0 in appearance.2da (For example, the CEP Armor Stand Dummy).
•   The game might crash when exiting a server with haks.
•   Object Visual Transforms don't always apply immediately on spawned objects.
•   The mouseover/tab text bubble is offset when using Object Visual Transforms.

Features
•   The SSAO FBO has been updated to use 25% fewer GPU cycles.
•   The high contrast shader has been tweaked so that the fog colour is not impacted anymore.
•   The name generator tables for all races (including custom) are now configurable in racialtypes.2da.
•   We added more shader uniforms to support upcoming Depth Of Field changes.

Fixes
•   Connecting to a dedicated server hosting a premium module resulted in the resource image being reopened after loading character data, which made ResMan then read freed memory on resources loaded for character generation/select. This hopefully fixes some of the Infinite Dungeon multiplayer issues that were seen.
•   We fixed a resource management issue when entering areas; resulting in crashes on area load screens.
•   Area Transitions clickable state is now sent to clients indiscriminately, which previously resulted in them turning into the wrong colour, hiding them from DMs, and making transitioning harder.
•   Script Compiler: We now allow escaping backslashes (“\\”).
•   We’re making it so that door boxes now again don’t have a highlight when mousing over them. (This was a very sneaky regression introduced by making the script call SetTransitionTarget work).
•   We fixed a crash when area of effect VFXes would attempt to animate in an area that was just unloaded on the client.
•   We fixed a game crash that happened in updating a creature without a valid animation base.
•   We turned Depth Of Field off by default (only for new installs). This will be re-enabled once it works better in conversations.
•   The chat window sizes now load properly for all users.
•   We allow server admins to disable relay functionality if they so desire. (nwnplayer.ini: “Network Relays Enabled”)
•   We fixed a game crash while updating the appearance of a creature without a valid body appearance.
•   Loading save games now works with encrypted premium module saves.
•   The game client doesn’t hang or crash anymore when receiving a very large data packet; such as character files, area data, or DM palettes.
•   We fixed the game hanging or lagging when no audio device is available.
•   We fixed a crash when a dedicated server would save a game, where a logged-out player was in Defensive Stance mode.
•   Some people were seeing “Could not translate address” when attempting to connect to servers, especially when attempting to connect via icon shortcuts.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on June 23, 2018, 01:57:30 AM
Neverwinter Nights: Enhanced Edition Development Build 8178
22 June - niv

Neverwinter Nights: Enhanced Edition Development Build 8178 is now up.

This release is a step towards the next official NWN:EE update that will address many of the issues discovered since 1.75.

The full list of changes since Build 8177 is:

Features
•   We added a new experimental full screen shader effect: Sharpen. It’s disabled by default, so you have to go into Options, Advanced Effects to try it out.
•   MacOS now defaults to “Desktop” style fullscreen mode (Borderless Fullscreen). This allows you to switch spaces. To make use of it on existing setups, set FullScreenDesktopMode=1 in nwn.ini.
•   We added another uniform to the game (int playerInCutscene), which will be used to improve the Depth Of Field FBO.
•   The game now shows the git commit it was built from in the title bar, the options menu, and the server consoles.

Fixes
•   We fixed a crash when exiting from a module with HAKs loaded.
•   We fixed where object visual transforms would not apply immediately when spawning or loading objects into an area.
•   The UI scale for Dialogues with scroll bars has been fixed.
•   We excluded localhost (127.0.0.1) from ever being relayed in order to fix a confusing error message for users.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on July 08, 2018, 04:23:50 PM
Neverwinter Nights: Enhanced Edition Development Build 8179
6 July - niv

Neverwinter Nights: Enhanced Edition Development Build 8179 is now available.

This build is a release candidate for 1.76. Thank you all for your assistance in hunting down bugs and testing these development builds.

Fixes
•   We addressed the majority of Intel-GPU related crashes. However, we will not rest until all of them are resolved.

Details

This patch is tiny as far as the log goes, as it specifically addresses the Intel crash issue.

Some players on very specific and hard to reproduce Intel GPU and driver combinations, were seeing severe crashing on area load screens and many situations with heavy NPC activity.

Unfortunately, this is not a complete fix for the issue, but it has shown to be a great improvement for the majority of players.

We are aware of a separate, though much less frequently occurring, crash that we are still chasing down. We are also very much aware of related performance issues on some Intel setups (stuttering when loading into heavy activity).

However, finding and fixing these will take more time than this patch cycle allowed, as we wanted to get this fix out as soon as feasible.

A Fix For 8176

To ease pain on the current stable patch, we've prepared a binary for players to plug into existing install that contains the backported crash fix. This is not shipped to everyone automatically, so if you are seeing crashes on Intel hardware, you will have to apply the patch by hand until the next official release.

Instructions:
•   Download the zip file here.[nwn.beamdog.net]
•   Extract the contained .exe into your game install, bin/win32 directory. On Steam, you can find this via "Browse Local Files" when going into the game properties. On the Beamdog Client, you can find it by clicking "Open Game Location" under game options.
•   When extracting, make sure to overwrite the existing nwmain.exe.
•   Please note that both Steam and Beamdog Client will revert to the non-fixed binary if you run a Verify.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on July 11, 2018, 09:48:11 PM
Neverwinter Nights: Enhanced Edition 1.76
Neverwinter Nights: Enhanced Edition - niv

The next stable patch for Neverwinter Nights: Enhanced Edition is live! If you have been following the Development branch announcements, you know what’s coming!

This patch focuses on stabilisation and addresses issues found since the previous update shipped. In particular, the patch includes fixes for the majority of Intel-GPU related crashes.

The full list of changes since v1.75 (Build 8176) is:

Client Changes
Features
•   We added a new experimental full screen shader effect: Sharpen. It’s disabled by default, so you have to go into Options, Advanced Effects to try it out.
•   MacOS now defaults to “Desktop” style fullscreen mode (Borderless Fullscreen). This allows you to switch spaces. To make use of it on existing setups, set FullScreenDesktopMode=1 in nwn.ini.
•   The name generator tables for all races (including custom) are now configurable in racialtypes.2da.
•   We turned Depth Of Field off by default (only for new installs). This will be re-enabled once it works better in conversations.
•   The SSAO FBO has been updated to use 25% fewer GPU cycles.

Fixes
•   We addressed one of the major crashes people were seeing on Intel GPUs. Matters should now be much improved for some players, however we are continuing to work on Intel-related issues.
•   The high contrast shader has been tweaked so that the fog colour is not impacted anymore.
•   Issues with playing Premium Modules in multiplayer have been addressed.
•   We fixed a resource management issue when entering areas; resulting in crashes on area load screens.
•   Loading save games now works with encrypted premium module saves.
•   We fixed where object visual transforms would not apply immediately when spawning or loading objects into an area.
•   Text bubbles now move alongside any applied visual transforms.
•   Some people were seeing “Could not translate address” when attempting to connect to servers, especially when attempting to connect via icon shortcuts. This has been fixed.
•   Area Transitions clickable state is now sent to clients indiscriminately, which previously resulted in them turning into the wrong colour, hiding them from DMs, and making transitioning harder.
•   We’re making it so that door boxes now again don’t have a highlight when mousing over them. (This was a very sneaky regression introduced by making the script call SetTransitionTarget work).
•   We fixed a crash when area of effect VFXes would attempt to animate in an area that was just unloaded on the client.
•   We fixed a game crash that happened in updating a creature without a valid animation base.
•   The chat window sizes now load properly for all users.
•   We allow server admins to disable relay functionality if they so desire. (nwnplayer.ini: “Network Relays Enabled”)
•   We fixed a game crash while updating the appearance of a creature without a valid body appearance.
•   The game client doesn’t hang or crash anymore when receiving a very large data packet; such as character files, area data, or DM palettes.
•   We fixed the game hanging or lagging when no audio device is available.
•   We fixed a crash when a dedicated server would save a game, where a logged-out player was in Defensive Stance mode.
•   We fixed a crash when exiting from a module with HAKs loaded.
•   The UI scale for Dialogues with scroll bars has been fixed.
•   We excluded localhost (127.0.0.1) from ever being relayed in order to fix a confusing error message for users.

Content Creation Changes

Fixes
•   Script Compiler: We now allow escaping backslashes (“\\”).

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 15, 2018, 02:31:40 PM
Sale

There’s a Not-Yet-Winter sale at Beamdog.com! Act quick, and get up to 40% off Neverwinter Nights: Enhanced Edition, Neverwinter Nights: Enhanced Edition Digital Deluxe, Darkness over Daggerford, and the Darkness over Daggerford Official Soundtrack!

https://www.beamdog.com/products/neverwinter-nights-enhanced-edition
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 21, 2018, 03:02:25 AM
Neverwinter Nights: Enhanced Edition Development Build 8180
20 September - niv

We're now shipping Neverwinter Nights: Enhanced Edition Development Build 8180.

This build is a potential release candidate for 1.77.

Features
•   We added three new player-selectable portraits; Heavyline, Skandii, and Lanteri.
•   Toolset: The script editor now shows variables and constant declarations on double click.
•   Toolset: The recent modules list has been expanded to 10 entries.
•   Toolset: The compiler include limit has been bumped to 128.

Fix-tures
•   The game now asks you for a CD key, instead of erroring with a confusing message, when Steam CD key retrieval fails for any reason.
•   HW Mouse is now the default on Linux, as to avoid WindowManager-related mouse click point offset issues resulting from UI scaling.

Fixes
•   We fixed certain armour pads (specifically, belts and shoulder pads) disappearing when re-equipping a item.
•   Server resource management on Linux in certain memory configurations has been fixed.
•   We fixed a floating point inaccuracy that made the player character skew aside ever so slightly when WASDing.
•   The conversation UI has been fixed to not shift off screen when using UI scaling and having the Inventory/Char sheet open at the same time.
•   We fixed held equipment not becoming transparent when the character model did so (for example, when casting Invisibility.)
•   Toolset: Area ambient sounds and music has been brought back to life.
•   Toolset: We removed the requirement that the mouse be over an object to translate it on the Z-axis (with Alt+Left Mouse Button).
•   Toolset: The tile properties light select color UI is no longer truncated when using windows-native screen scaling.
•   We fixed a double-free in the PLT system, which has lead to crashes when multiple objects with the same texture would show.
•   A crash when reloading LTRs was fixed.
•   Crashes in nwscript functions resulting from bad parameters have been addressed: CopyItemAndModify, GetNearestCreatureToLocation
•   Linux only: Database names are now case-insensitive, so DestroyCampaignDatabase() now works as expected.

Known Issues
•   The macOS dedicated server is missing a packaged libGalaxy.dylib. This can be worked around by copying the one from the client .app bundle (nwmain.app/Contents/MacOS/libGalaxy.dylib) into the same directory as the server binary.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 30, 2018, 01:55:21 PM
Neverwinter Nights: Enhanced Edition Development Build 8181
27 September - niv

We're shipping Neverwinter Nights: Enhanced Edition Development Build 8181 shortly after 8180 to address community-found feedback and issues.

This build is the next release candidate for 1.77.

Fixes
•   We made all DLC portraits now show up for character creation in all modules, regardless of portrait.2da entries.
•   We fixed some objects with fancymapping not rendering in the Toolset.
•   Linux/Mac only: We fixed the server spinning a thread needlessly if stdin gets closed.
•   The macOS dedicated server now doesn't fail due to a missing libGalaxy.dylib.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on October 03, 2018, 12:01:11 AM
Neverwinter Nights: Enhanced Edition 1.77
Neverwinter Nights: Enhanced Edition - niv

We're shipping build 8181 to Stable today. This is the same build that has been on the Development branch for a short while now.

If you'd like to stay on 1.76 until your favourite persistent world has migrated, please select the "oldstable" branch in Steam.

For a full changelog compared to 1.76, read on.

Client Changes

Features:
•   Three new player-selectable portraits; Heavyline, Skandii, and Lanteri.

Fixes:
•   We fixed certain armour pads (specifically, belts and shoulder pads) disappearing when re-equipping a item.
•   We fixed a floating point inaccuracy that made the player character skew aside ever so slightly when WASDing.
•   The conversation UI has been fixed to not shift off screen when using UI scaling and having the Inventory/Char sheet open at the same time.
•   We fixed a double-free in the PLT system, which has lead to crashes when multiple objects with the same texture would show.
•   We fixed held equipment not becoming transparent when the character model did so (for example, when casting Invisibility.)
•   The game now asks you for a CD key, instead of erroring with a confusing message, when Steam CD key retrieval fails for any reason.
•   HW Mouse is now the default on Linux, as to avoid WindowManager-related mouse click point offset issues resulting from UI scaling.
•   We made all DLC portraits now show up for character creation in all modules, regardless of portrait.2da entries.

Content Creation Changes

Features:
•   Toolset: The script editor now shows variables and constant declarations on double click.
•   Toolset: The recent modules list has been expanded to 10 entries.
•   Toolset: The compiler include limit has been bumped to 128.

Fixes:
•   Toolset: Area ambient sounds and music has been brought back to life.
•   Toolset: We removed the requirement that the mouse be over an object to translate it on the Z-axis (with Alt+Left Mouse Button).
•   Toolset: The tile properties light select color UI is no longer truncated when using windows-native screen scaling.

Server Changes

Fixes:
•   Server resource management on Linux in certain memory configurations has been fixed.
•   Crashes in nwscript functions resulting from bad parameters have been addressed: CopyItemAndModify, GetNearestCreatureToLocation
•   A crash when reloading LTRs was fixed.
•   Linux only: Database names are now case-insensitive, so DestroyCampaignDatabase() now works as expected.
•   Linux/Mac only: We fixed the server spinning a thread needlessly if stdin gets closed.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on October 25, 2018, 03:15:53 PM
Neverwinter Nights: Enhanced Edition Development Build 8182
20 October - niv

NWN:EE Development Update 8182 is being rolled out.

This patch contains a major new feature: NWSync, a mechanism to transparently and automatically download user content when joining a multiplayer server.

The first development release now exists to serve as an invitation to test for the community.

Features
•   The game now supports normal DDS textures without having to mangle the header.
•   The game now supports KTX texture containers.
•   We added a new console variable that enables a over-time FPS display. Type "fpstrace 1" into the game console to enable.

Optimisation
•   We added a (off-by-default) experimental toggle that prevents needless texture switching. It should yield about 10-20% more FPS depending on the scene rendered. You can toggle it, to see the difference, via the console variable glCacheTextureBinds 0/1.

Fixes
•   We fixed lighting uniforms not assigning properly on some GPU drivers. This should address some flickering and maybe improve stability.
•   Premium Modules don't show in "Other Modules" anymore.
•   Yet another crash for creature appearances with PERSPACE=0 has been addressed.

NWSync

We merged in experimental support for NWSync. The first implementation of this allows transparent multiplayer server content downloads, and requires special setup by the server admin to make functional.

The preliminary manual, including instructions and system details, can be read here: https://docs.google.com/document/d/1eYRTd6vzk7OrLpr2zlwnUk7mgUsyiZzLoR6k54njBVI

Note that if you are from The Future, then this URL might have changed or disappeared. Please check the official documentation in lang/en/docs instead.

Again, this is experimental, and we are shipping this to the development branch early so persistent world admins and interested parties can test it. This is a very complex technical feature and we fully expect that we will have to ship more development patches to address found issues.

Ultimately, this feature can only grow into what it should be with feedback and guidance from those that will be heavily employing it.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on October 25, 2018, 03:16:51 PM
Neverwinter Nights: Enhanced Edition Development Build 8183
24 October - niv

This is patch 8183 for the Development branch of NWN:EE!

This patch is a quick iteration on the previous Development patch. Build 8182 introduced NWSync, a feature allowing clients to download needed gameplay data from servers without having to manually hunt down HAK and TLK files.
Fixes
•   We fixed a performance issue indexing/reading NWSync manifests on Windows. Data should now load at least as fast as it would with HAKs.

Fix-tures
•   Gamma functionality is back: You can type `Gamma x` in the console, where x is a floating point value larger than 0. The default is 2.2. This value is persisted to nwn.ini (under a new configuration key). Gamma only affects the rendered ingame scenery, not menus or UI, as it is applied through a FBO shader, not GL/system-wide gamma correction. There is no slider yet, sorry.
•   NWSync memory management was refactored to be as zero-copy as possible, eventually paving the way for streaming compression (to deliver, e.g., full movies). Right now, the suggested optimal file size for individually synced files is under 20MB.
•   All shaders have seen revision to be more efficient and future-proofed for extensions like Roughness and Glow Maps.
•   The game now writes out all Aliases to nwn.ini even if the file already existed.

Features
•   NWSync now has an Alias entry in nwn.ini, which allows moving data to a more suitable place if so desired.
•   Downloading the initial manifest now shows progress, instead of letting the user guess. This is relevant for big manifests, which may grow to megabytes in size for servers using the CEP and more.
•   The multiplayer server browser now shows a progress window when downloading the server list. It also switched over to libcurl, which should prove to be much more reliable than the previous solution.

Coming Soon, and Known Issues
•   There will be a utility to introspect and prune the client-side storage.
•   There will be a utility to (pre-)download manifest/server data without the game running.
•   We're aware the NWSync documentation is very bare bones right now, and aimed at the technical user. It will see a lot of improvement before a stable release, including example use-cases and HOWTOs for each. Current work-in-progress documentation can be found here: https://docs.google.com/document/d/1eYRTd6vzk7OrLpr2zlwnUk7mgUsyiZzLoR6k54njBVI.
•   Server-side repository management utilities are exhibiting some issues on Windows. We're looking into the problem

We'd like to thank all the volunteers who have spent time testing the previous patch! We're not quite at the required stable feature list yet as far as NWSync goes, but we're getting there! Any testing, feedback, and criticism you provide is invaluable.

Thanks!

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on November 16, 2018, 05:01:30 PM
(https://cdn.fanatical.com/production/product/original/ef9808a3-f5cc-4930-8b89-1373a12520cb.jpeg)

Sale  -64%  £42.41   £19.25


(https://gallery.mailchimp.com/8c91a39196d452fc8446b9e62/images/474a2062-8753-4244-b7da-5d98e5caf50c.png)


YOUR OFFICIAL NEVERWINTER NIGHTS: ENHANCED EDITION STEAM KEY GIVES YOU:
•   The original Neverwinter Nights campaign
•   Shadows of Undrentide expansion: Another adventure begins in Shadows of Undrentide! Charged by your master to recover four ancient artifacts, travel from the Silver Marches to unravel mysteries of a long-dead magical civilization.
•   Hordes of the Underdark expansion: Continue the adventure started in Shadows of Undrentide and journey into the ever-more bizarre and hostile depths of Undermountain to challenge a gathering evil.
•   Three premium modules: Kingmaker, ShadowGuard and Witch’s Wake
•   The Aurora Toolset: Build your own world full of unique monsters, items, traps, encounters, and settings, then share your creation with the rest of the Neverwinter Nights community
•   Dungeon Master Client: Become the storyteller by controlling monsters, creatures, and characters that you encounter throughout the game
•   Multiplayer with access to different game hosting servers

https://www.fanatical.com/en/bundle/neverwinter-nights-enhanced-edition-digital-deluxe

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on November 21, 2018, 02:52:56 AM
Neverwinter Nights: Enhanced Edition 1.78
Neverwinter Nights: Enhanced Edition - niv

Today, we are shipping Development Build 8186 to the stable branch of Neverwinter Nights: Enhanced Edition as 1.78!

This is the very same build that was recently updated on the development branch and contains no changes since then.

The previous build (8181) is available as a Steam branch, so you can switch back if your favorite persistent world needs more time to update. To do so, select 'oldstable' under the beta dropdown list in the Neverwinter Nights: Enhanced Edition Steam properties.

New Feature: NWSync

This update contains a major new feature called NWSync, which will allow players to easily download required content data as they join servers, without having to manually manage HAK and TLK files. In this first iteration, this will mostly benefit persistent worlds, as it requires special setup on the server owner's part.

For details on this feature, please see the source repository that contains all the needed tooling and links to the most up-to-date documentation, here: https://github.com/Beamdog/nwsync.

Client Changes

Features:
•   We added a new console variable that enables a over-time FPS display. Type "fpstrace 1" into the game console to enable.
•   You can type `Gamma x` in the console, where x is a floating point value larger than 0. The default is 2.2. This value is persisted to nwn.ini (under a new configuration key). Gamma only affects the rendered ingame scenery, not menus or UI, as it is applied through a FBO shader, not GL/system-wide gamma correction.
•   The game now supports normal DDS textures without having to mangle the header.
•   The game now supports KTX texture containers.
•   The game now writes out all Aliases to nwn.ini even if the file already existed.
•   We bumped the default maximum texture memory to 256MB. Previous settings of 64MB are rewritten to this value. The new minimum is 96MB. The bigger-by-default texture memory should improve stability in some situations.

Fixes:
•   We fixed lighting uniforms not assigning properly on some GPU drivers. This should address some flickering and maybe improve stability.
•   Premium Modules don't show in "Other Modules" anymore.
•   Yet another crash for creature appearances with PERSPACE=0 has been addressed.
•   The multiplayer server browser now shows a progress window when downloading the server list. It also switched over to libcurl, which should prove to be much more reliable than the previous solution.
•   The chat window will not capture mouse clicks anymore, only scroll events. This means you can once again click through it to action the game world.

Server Changes

Fixes:
•   Greater Sanctuary interacting incorrectly with True Seeing has been fixed.
•   A rare server hang when a relayed player suddenly regains direct connectivity has been fixed.
•   A bug in RetrieveCampaignObject has been fixed that resulted in a double free issue, crashing the game. This was another 1.69 issue that was unearthed by us switching to VS2017 for the Windows build.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on December 22, 2018, 03:07:02 AM
Neverwinter Nights: Enhanced Edition Development Build 8187
21 December - niv

We're shipping a quick pre-holidays development patch for Neverwinter Nights: Enhanced Edition. We're at 8187 now!

Changes
•   We ported keyholing from Android. It is turned ON by default, but can be turned off with a console command (KeyholeToggle) or the setting in nwn.ini. A UI setting will be added before the next stable patch ships.

(https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/31261212/8b13d85b13557701509e357ca9c69ef720ff296f.gif)

•   Shaders now support #include. Use with care: It's not a real preprocessor, just a verbatim string replace.
•   We're changing how networking is done in NWN:EE, with the following benefits: Cryptographic server and client identity authentication; full network encryption to prevent traffic snooping - and in the case of public servers via the master, connection hijacking; floating connections (you might be able to IP/port-hop and retain your connection); better use of compression; and no more host/port confusion when connecting multiple times from behind the same LAN.
•   NWSync now cleans up downloaded manifest mappings when getting updates from known servers. It will not remove unreferenced data yet (as desktop users might not want to lose it), but that will come next.
•   NWSync will automatically reconnect you to the server if you are still around after the download finishes (based on keyboard/mouse input detection).

Fixes
•   Performance and memory usage improvements at NWSync startup.
•   History/Favorites have been fixed to once again show what has been saved to the .ini.
•   We fixed the SetName and SetHiddenWhenEquipped script commands not reliably updating all clients.
•   We fixed some doors becoming unclickable after having been destroyed, despite having a scripted transition present.
•   We fixed the script compiler sometimes confusing functions where the full name of one is a prefix of the other ("Action" <-> "ActionTwo").
•   We fixed module content (hak, tlk, nwsync) not properly unloading when disconnecting from a server.
•   We fixed a bug where resources were indexed twice when loading a module, resulting in prolonged load/connect times.
•   We fixed an issue where sending visual transforms or material updates for creatures only seen on the party bar, but not yet in an area, crashed clients.

Known Issues
•   Relay network functionality is not yet functional for this new patch. This will not impact connectivity, unless both server and client are behind very restrictive NAT.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on January 31, 2019, 03:07:20 PM
New shader pipeline for #NeverwinterNights: Enhanced Edition that will eventually debut in the new renderer.

(https://pbs.twimg.com/media/DyF4LDVXgAAAsqg.jpg:large)
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on August 11, 2019, 11:55:30 PM
Neverwinter Nights: Enhanced Edition Development Build 8188
6 Aug @ 7:28pm - niv

Hello everyone!

This development patch brings in a features that lay the groundwork for a followup patch to the stable branch.

We are releasing this to the dev branch now so that you can help us test it and provide feedback on the direction things are taking. Thus, this patch contains a lot of experimental features with moderate chance for breakage.

Please report any issues you might face on our bug tracker - https://support.baldursgate.com/projects/nwn-ee-public-bugs.

We're aware it's been a long wait since our last patch. Thank you for your patience! We assure you, we are still hard at work on Neverwinter Nights: Enhanced Edition.

Please note that this patch does not represent the full set of features we are working on. Instead, we have split away partial changes so that the community could test and evaluate them while we’re working on other features including the new graphics rendering engine, improved NWSync capabilities, and softening up more parts of the ruleset.

This patch introduces backwards-breaking changes to save games and character files (specifically, the Red Dragon Disciple). Please read the patch notes carefully and make backups of your saves and characters.
Known Issues/Caveats in this patch

•   Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
•   Rendering console text (the yellow debug console) sometimes renders white squares instead.
•   Old CampaignDB files ("CodeBase", "Bioware DB", "FoxPro", etc) remain unreadable (for now, see below).

Features

•   Both client and server are now 64bit binaries. We do not provide 32bit binaries anymore as of this patch. (The binary directories in the game install are now misnamed; we didn't change this yet but will in a future patch.)
•   Achievements have been added to the Steam release. These are the same as have been available on Android for a while. There is a Debug UI panel that allows you to clear previously-achieved achievements if you’d like to start fresh. Please note that they will remain flagged as Hidden until support for them hits the stable branch.
•   CodeBase (“Bioware Campaign Database”) has been replaced with sqlite3, as the old database code would not work when compiled with a 64bit compiler. Moving forward, we will be writing new, minimal code to import existing CodeBase entries; but for now, old data remains inaccessible. All new database files end up in the database/ directory in your user home. They have the extension .sqlite3.
•   A debug UI for advanced users to showcase experimental new features and UI scenes has been implemented (Ctrl+Shift+F12 to access).
•   A new configuration system has been put in place. Most client and server config is now stored in a file called settings.tml, instead of nwn and nwnplayer ini.
•   A lot of new configuration keys have been added, too numerous to list here.
•   Configuration will be imported from ini files. Once imported, the .ini will not be written anymore (but left in place in case you want to go back to a previous build).
•   All configuration keys can be overridden via ENV variables (useful for automated server setups), like so: NWN_CONFIG_SET_key, where key is the fully-qualified configuration key.
•   Some configuration still remains in .ini files; these will be migrated as we go along.
•   The .tml file is in TOML format and has a full schema embedded for better introspection and tool-based editing.
•   The debug UI offers access to the full new configuration system.
•   Networking/Crypto: Servers can now have fixed identities that persist between restarts. This identity is stored in a file named “cryptographic_secret” in the user home. Leaking this identity allows others to impersonate your server, much in the same way as leaking a private CD key. Favourites and History storage will now use server identities if available, so that floating IP/port servers can be found again easily.
•   The game now defaults to windowed mode (instead of exclusive fullscreen) on new installs.
•   The game will now remember the window position between restarts when in windowed mode.
•   A simple frame limiter has been added, which can be used to reduce CPU/GPU usage on battery-constrained devices. It is accessible through the Debug UI as explained below.
•   Walking/Running with shift held down is now an invertible config toggle. This is also accessible through the Debug UI.
•   NWSync now automatically purges outdated server manifests, removing stale and unneeded data. Manifests are considered outdated if they are coming from the same server URL and carry the same group_id (see NWSync documentation).
•   NWSync can now download offline modules from preconfigured servers. This is a experimental feature and only accessible via the Debug UI, and requires adding a specially-prepared repository.
•   The debug UI offers to purge unwanted nwsync manifests and all associated data. This will eventually be turned into a more user-friendly UI.
•   Music and ambient sounds are now loaded through ResMan and can thus be in hak and nwsync.
•   The game will now read plain mp3 files (the .bmu extension rename is still required, because this extension is used in all existing resources/haks).
•   The game user home (i.e. Documents/Neverwinter Nights) is now provisioned “development” directory, which detects changes and content is reloaded at runtime. This directory sits at the very top of the resources search path (unlike override/, which is sitting below ERF containers such as HAKs).
•   NB: This content reload only affects resource types that are not cached. For example, it can be used to inject scripts or GFF data, but not replace textures on the fly.
•   ResMan resource management and priorities has been rewritten. The debug UI can show this to you.
•   [Linux/Mac only] The game can now optionally mmap() all core game resources. This speeds up loading times drastically on some systems. This is turned off by default.
•   We have added a script command to JIT-compile and run a chunk of NWScript.
•   We have added functionality that allows attaching UUIDs to objects. These UUIDs are persisted to GFF and can be used by authors to identify items across module restarts, among other use cases.
•   Script calls that serialise/deserialise objects (StoreCampaignObject and CopyObject as of now) can now work with the following object types: Creatures, Items, Placeables, Waypoints, Stores, Doors, Triggers.

Fixes

•   C++: Thousands of cases of undefined behaviour have been addressed. A lot of code duplication has been removed in the process.
•   KTX texture loading order has been fixed.
•   The Load/Save dialogue now properly removes savegames from the resource manager when exiting the UI.
•   GL Render Culling was fixed (i.e. flickering trees and keyholing showing backfaces of geometry instead of punching through).
•   We fixed invalid user savegames being deleted on read errors; for example when erroneously storing savegames in subdirectories, or when AV denies access to reading the .sav.
•   Automatic tangent generation has been fixed.
•   Steam CD key retrieval should be more robust; and in the case of errors, will emit a useful support token that can be used to follow up with Beamdog.
•   A memleak in script evaluation was fixed.
•   SetPhenoType: The constraint condition was too narrow in clamping the phenotype; this has been fixed.
•   SetName() on areas now sends the configured language, instead of English.
•   The rather arbitrary builtin effect icon limit has been removed.
•   Object Visual Transforms: We now send VTs for newly-created doors and placeables. Some inefficiencies in network updates have been removed.
•   Material Shader Params: Some inefficiencies in network updates have been removed.
•   The server now waits 3 seconds before attempting to list with the master, allowing a module to load in non-interactive use.
•   Running a local multiplayer game now should never reject the primary player if the master is unreachable.
•   A case where arturo texture animations failed to animate has been addressed.
•   A bug in the creature serialisation code (for StoreCampaignObject) has been addressed where it would erroneously embed transient object IDs for inventory items, resulting in issues when loading this creature again in a persistent world setting.
•   A nullptr deref crash related to funny/zombie-walking a player was fixed.
•   A nullptr deref crash when clicking placeables without a valid player creature was fixed.
•   A thread race crash during sound system initialisation was fixed.
•   A nullptr deref crash when the server sends a weapon switch request for a creature where the model did not yet load was fixed.
•   A selection of nullptr deref crashes when the server sends a creature update for a non-existing creature were fixed.
•   A case where encounters containing creatures only of the same CR would fail to select the proper amount/difficulty was fixed.

Ruleset

•   classes.2da: New column StatGainTable. This column contains a table that describes ability and natural AC progression per level.
•   Palemaster Natural AC progression has been changed to use this mechanism.
•   Dragon Disciple Natural AC and Ability progression has been changed as well. As a consequence of this change, existing creatures will be stripped of their baked-in modifiers; thus changing characters/saves irreversibly and making them invalid with older game versions. Character changes are tracked in the character file itself: A new field “DataMigration” has been added to the GFF CreatureStats struct to accommodate this. In the interest of transparency, changes made to character files are published in the patch notes, below. If you want to return to a previous game version, make sure to create a backup first.
•   racialtypes.2da: New columns to configure extra skill points and feats at first level.
•   racialtypes.2da: New columns to configure the skill points modifier at first level.
•   racialtypes.2da: New columns to configure Ability Point Buy.
•   racialtypes.2da: New columns to configure normal feat progression.
•   ruleset.2da: New 2da added that contains a set of builtin ruleset defines. These defines were previously hardcoded in the game engine and are now overridable on a per-module basis. No explicit guarantees of functionality are given due to their scope and amount; however we will gladly listen for feedback on what works, what doesn’t work as expected, and what needs changing to accommodate further use cases. We reserve the right to change and remove entries with future patches.

You can find all of these files in the game installation directory, subdirectory ovr/.
Irreversible character data migrations in this patch

•   DataMigration < 1: Dragon Disciple Class:
•   if (level >= 10) STR -= 4;
•   if (level >= 4) STR -= 2;
•   if (level >= 2) STR -= 2;
•   if (level >= 7) CON -= 2;
•   if (level >= 9) INT -= 2;
•   if (level >= 10) CHA -= 2;
•   // Note: Natural AC was already calculated at runtime and not persisted to character data.

New Script Commands

Code: [Select]
// Execute a script chunk.
// The script chunk runs immediately, same as ExecuteScript().
// The script is jitted in place and currently not cached: Each invocation will recompile the script chunk.
// Note that the script chunk will run as if a separate script. This is not eval().
// By default, the script chunk is wrapped into void main() {}. Pass in bWrapIntoMain = FALSE to override.
// Returns "" on success, or the compilation error.
string ExecuteScriptChunk(string sScriptChunk, object oObject = OBJECT_SELF, int bWrapIntoMain = TRUE);

// Returns a UUID. This UUID will not be associated with any object.
// The generated UUID is currently a v4.
string GetRandomUUID();

// Returns the given objects' UUID. This UUID is persisted across save boundaries,
// like Save/RestoreCampaignObject and save games.
//
// Thus, reidentification is only guaranteed in scenarios where players cannot introduce
// new objects (i.e. servervault servers).
//
// UUIDs are guaranteed to be unique in any single running game.
//
// If a loaded object would collide with a UUID already present in the game, the
// object receives no UUID and a warning is emitted to the log. Requesting a UUID
// for the new object will generate a random one.
//
// This UUID is useful to, for example:
// - Safely identify servervault characters
// - Track serialisable objects (like items or creatures) as they are saved to the
//   campaign DB - i.e. persistent storage chests or dropped items.
// - Track objects across multiple game instances (in trusted scenarios).
//
// Currently, the following objects can carry UUIDs:
//   Items, Creatures, Placeables, Triggers, Doors, Waypoints, Stores,
//   Encounters, Areas.
//
// Will return "" (empty string) when the given object cannot carry a UUID.
string GetObjectUUID(object oObject);

// Forces the given object to receive a new UUID, discarding the current value.
void ForceRefreshObjectUUID(object oObject);

// Looks up a object on the server by it's UUID.
// Returns OBJECT_INVALID if the UUID is not on the server.
object GetObjectByUUID(string sUUID);
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on August 23, 2019, 12:21:56 PM
Neverwinter Nights: Enhanced Edition Development Build 8189
14 Aug @ 5:50pm - niv


This is a stabilisation effort following 8188. We’re working towards a stable patch before the new renderer will happen. Please help test, your feedback is invaluable!

Known Issues/Caveats

•   Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
•   Old CampaignDB files remain unreadable (for now, see below).
•   GetEffectSpellId() returns the wrong value for invalid spells (65535 instead of -1).

Features

•   Nuklear-based UI is now skinned with textures loaded from ResMan. The skin is a placeholder and the art is work in progress. New options to configure the used font have been added.
•   All HTTP traffic now requires valid HTTPS certificates, with proper OCSP stapling enabled. The game does not speak to http servers anymore (except localhost for testing). This includes all NWSync repositories.

Fixes

•   Running the game and server on Linux systems has been fixed.
•   NWSync SQLite migration stability has been improved. They are now defined in code, and no longer in the installation directory. The schema, of course, remains public.
•   The game no longer renders white boxes where console font should be. This should also fix the issues where other text overlays and opening the radial menu sometimes result in huge white boxes all over the screen.
•   The effect limit configuration keys have been uncapped. They used to be limited to [1, default]; they now are [0, 255]. Beware: You may run into strange behaviour if you exceed a total bonus/penalty of -128, 127 or 255 regardless of configuration; since some values are internally typed with 8 bits.
•   Hosting local multiplayer games on Mac and Linux, where the system hostname is not resolvable through DNS, has been fixed.
•   The server config "Server vault by player name" does not require "Sticky player names" enabled anymore to work. This will help servers that want to set up custom authentication schemes.
•   We fixed an issue where the threadpool would not spawn enough worker threads if your CPU had less than three (virtual) cores.

Ruleset
•   New column in racialtypes.2da: SkillPointModifierAbility. This column determines the ability which will provide additional skill points on level up. Can be blank. (INT by default, obviously).
•   New should-really-be-self-explanatory ruleset.2da constants: MULTIPLE_ATTACKS_BAB_PENALTY_MULTIPLIER_MONK, MULTIPLE_ATTACKS_BAB_PENALTY_MULTIPLIER, SPELLCRAFT_NUM_RANKS_PER_SAVE_BONUS
•   ruleset.2da entry lookup has been sped up.

Changed Script Commands
•   The effect limit accessors now adhere to the configuration constraints. Values set through these will always override the user-configured values for the running module only.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on August 23, 2019, 12:44:44 PM
Neverwinter Nights: Enhanced Edition Tyrants of the Moonsea DLC

This content requires the base game Neverwinter Nights: Enhanced Edition

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/header.jpg?t=1566491892)


 STEAM (https://store.steampowered.com/app/1143400/Neverwinter_Nights_Enhanced_Edition_Tyrants_of_the_Moonsea/)

Single-player


Price: £7.19

10% off at launch = £6.47


About This Content


Developed by Ossian Studios and based on the original module by Luke Scull, this new, enhanced version of Tyrants of the Moonsea vastly expands this former premium module by adding 70% more story and gameplay, as well as a large amount of new art and audio content.

The harsh frontier land known as the Moonsea is besieged by demons. A mysterious cult has arisen, bent on death and destruction. Amid the chaos, war is imminent between the powerful city-states and their tyrannical rulers. Accompanied by the dwarf merchant Madoc, you approach the town of Voonlar just as the worst snowstorm of the year hits. You soon discover that only you can prevent the total annihilation of the Moonsea at the hands of a legendary and ancient evil...

Explore the treacherous region of the Moonsea, including the infamous Zhentil Keep! Travel by foot and horse through the dark and mysterious lands of Cormanthor and Thar, and by ship across the pirate-infested waters, engaging in ship-to-ship combat. Encounter monstrous foes of unspeakable power in a high-level adventure that will keep you on the edge of your seat. As the old Moonsea battle cry goes: "Dare... and beware!"


Features:

•   An expansion-sized high-level adventure with 20+ hours of gameplay
•   Use the world map to explore 18 areas in the Moonsea region including Zhentil Keep, Cormanthor, Thar, and prominent city-states.
•   Recruit from 5 different companions for your party
•   5 new monsters to do battle with
•   14 new character portraits
•   35 minutes of inspiring new music including exhilarating combat tracks
•   1,000 lines of new character VO

Buying the enhanced edition of Tyrants of the Moonsea helps to support Ossian Studios' goal of bringing you more Dungeons & Dragons adventures!


(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_52b44ecbe4de4d883b04e07514f933855c31acb2.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_52b44ecbe4de4d883b04e07514f933855c31acb2.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_c0fba6f31d3e74b8fa82bf910b7fd304b68d2374.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_d57ae9c1b09f1e35bad484032953e1f68a8fa1a0.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_424685a4c15ac14e516d6fb0e6d9c15d97154cf3.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_25d1e9cda3c681e65657df59bacd65ed08e13a2a.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_5e201864b2c1aea776242839822aca7be7ec2648.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_bc85833f13049e1edb968e83a05a69f0f0f5ce61.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_1a125b2e370d8224a6914aded7c48b30c27deb23.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_cce9d69dfb8407723b25de375516cd24be1e6569.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_e218a3b5890c8dec6eb085262e9f36ec4af1679b.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_7639e7216a119f3984cf38537cc2831909dd6bf9.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_784fecf8a42ecc70a97630be66e21e8ea917b3b7.1920x1080.jpg?t=1566491892)

(https://steamcdn-a.akamaihd.net/steam/apps/1143400/ss_e910a2ee3286f98d2e7b566ef51a95771b57a829.1920x1080.jpg?t=1566491892)

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 27, 2019, 08:03:34 PM
Neverwinter Nights: Enhanced Edition Development Build 8190
Thu, 26 September 2019


We're still working towards a stable patch. This is one step closer, knocking off a few required items off the TODO list for it.

We appreciate any and all bug reports and feedback your testing will generate.

Known Issues/Caveats

•   Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
•   Polish and Czech charsets cannot render or type some characters.
•   Old campaign database files written with patch 8187 or earlier cannot be read, as the underlying format has changed.
•   The toolset build inside this development patch is currently outdated. You can find the most recent beta toolset  here (https://forums.beamdog.com/discussion/75035/nwn-toolset-enhanced-edition-try-the-new-updates-and-share-your-feedback/p1).


Features

•   Model compiler: Added a new alias to nwn.ini: MODELCOMPILER (instead of clobbering the installation directory)
•   New console command: compileloadedmodels (comppiles all loaded models, including binary)
•   New console command: compileloadedasciimodels (compiles all loaded models, only ascii)
•   New console command: compilemodel <name> (specific model, will load and unload it for you even if it is not currently loaded)
•   New command line switch: nwmain.exe compilemodel <name> (same as the above console command; will compile the model and exit the game immediately)
•   NWSync now shows network and storage speed separately while downloading.
•   The NWSync networking protocol has been extended to support multiple language-specific and user-selectable optional manifests in the future (but the client itself cannot fetch them yet - sorry!).
•   We have rewritten large parts of the NWSync storage system to better support the upcoming console releases. Your existing data should - barring bugs - remain unaffected.


Fixes

•   NWScript: GetEffectSpellId() was erroneously returning 65535 instead of -1 for effects with no spell.
•   SSL is not a forced requirement for NWSync anymore.
•   For SSL, OCSP stapling verification is now off. There is a configuration key to globally re-enable it, if users so desire.
•   We fixed the configuration option ruleset.hide-hitpoints-gained-on-level erroneously taking the value of ruleset.always-roll-max-hitpoints-on-levelup.
•   [Linux] Switching to fullscreen and back will now preserve window position and dimensions.
•   We fixed difficulty selection being off by one.
•   We fixed the mouse wheel scrolling nuklear-based UI even though the cursor was not hovering over it.
•   We addressed a custom content-related crash when adding invalid items to merchants.
•   A handful of UI-crashes inside NWSync have been fixed.
•   The crash reporter now says which OS it came from.
•   We fixed an issue where playing wav ambient sounds would confuse the resource manager into either leaking or freeing memory excessively.
•   We fixed some achievements not triggering properly: Hoard Mode, Dragons are Friends not Fodder, Hardcore Morag, Hardcore Heurodis, and Hardcore Mephistopheles.
•   Campaign progress now unlocks only the current campaign instead of all.
•   Game autosaving is now a boolean toggle, and the interval is configurable between 1 and 30 minutes.
•   Interval-based game autosaving no longer triggers in singleplayer.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on October 03, 2019, 09:32:53 PM
Neverwinter Nights: Enhanced Edition Development Build 8191
Tue, 1 October 2019


Yet another stabilising patch! This one fixes a long-outstanding memleak that manifested when players stuck around for a while with skinmeshes on screen (robes, cloaks, certain monsters). It was framerate-dependent, and for some people, this resulted in memory exhaustion and crashes after anywhere between 30 minutes and a few hours.

We appreciate any and all bug reports and feedback your testing will generate.

Known Issues/Caveats

•   Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
•   Polish and Czech charsets cannot render or type some characters.
•   Old campaign database files written with patch 8187 or earlier cannot be read, as the underlying format has changed.
•   The toolset build inside this development patch is currently outdated. You can find the most recent beta toolset here.

Features

•   New main menu background art. (Also configurable in settings.tml)

Fixes

•   A serious memleak when rendering skinmeshed objects was fixed.
•   A memleak when calculating tangent space basis was fixed.
•   An issue where the internal resource manager would needlessly evict recently used files under memory pressure was fixed, which had resulted in disk churn.
•   NWSync: We now won’t do shard compaction on desktop platforms by default, as this resulted in needless IO and wait time for players (the feature is meant to save storage on certain console platforms).

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on January 19, 2020, 01:42:59 AM
Updates 8192 - 8193.5   here (https://steamcommunity.com/games/704450/announcements/detail/1697226147911946433)
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on January 19, 2020, 01:48:46 AM
Neverwinter Nights: Enhanced Edition Development Build 8193.6
Mon, 13 January 2020

Happy New Year, friends!

We’re kicking off 2020 with a brand new development patch for you to play with!


Development Patch 8193.6 focuses on creation for both single player and multiplayer. This dev patch is best suited for our content creator community, as it requires technical knowledge of our toolsets (and a willingness to endure a few issues). We hope you have some fun breaking these features— fair warning: we’re expecting there to be some outstanding bugs in this build.

This patch is network-compatible with all other 8193 releases; however, new features will not work when the patch revision differs (and characters may fail to pass ELC).
Check out the full patch notes below!

All the best,
- Beamdog NWNEE Team


Customise weapons-related feats in baseitems.2da

Weapons-related feats (Focus, Epic Focus, Spec, Epic Spec, Improved Crit, Overwhelming Crit, Devastating Crit, Weapon of Choice) can now be customised on a per-baseitem case.

Please refer to baseitems.2da for the new columns: WeaponFocusFeat EpicWeaponFocusFeat WeaponSpecializationFeat EpicWeaponSpecializationFeat WeaponImprovedCriticalFeat EpicWeaponOverwhelmingCriticalFeat EpicWeaponDevastatingCriticalFeat WeaponOfChoiceFeat


Custom weapon visual effects

Weapons can now have custom visual effects (in addition to the stock fire, ice, electricity, etc.)

Please refer to the new file iprp_visualfx.2da for details.


Custom spellcaster classes

We've added (somewhat partial) support for custom spellcaster classes by "unhardcoding" a lot of the builtin constants and references.

Please refer to classes.2da for the new columns: MemorizesSpells SpellbookRestricted PickDomains PickSchool LearnScroll Arcane ASF SpellcastingAbil SpellTableColumn CLMultiplier MinCastingLevel MinAssociateLevel CanCastSpontaneously

Note that not all combinations are valid. We recommend cloning one of the existing caster classes and then start customising from there. When adding spellcasting to new classes, remember to also update existing columns.

There is also a new ruleset entry: COMPANION_LEVELS_STACK, defaulting to 0.


Level of Detail

You can now specify LODs via a new file type ".lod". When the game loads the model mymodel.mdl, it will look up mymodel.lod. Inside that file, add the following lines:

Code: [Select]
mymodel_0
40 mymodel_1
80.5 mymodel_2


The game supports LOD files with up to three levels, as shown above. You may omit the last entry. The first line is the high-resolution model; the other two are meant to be lower-resolution model files, that will be dynamically swapped out as the camera reaches the given distance.

Please note that LODs are highly dependent on the screen resolution of the client. The actual mechanisms here need to still be figured out; but for now, we'd suggest choosing LOD distances as if the user had a 1080p screen. To support other resolutions, there is a configuration slider in the debug settings (Ctrl-Shift-F12, select "Config", key: "graphics.lod.scale-factor") that users can influence LOD distances with.


Animation Slots

The game now supports 50 more custom animation slots (LOOPING_CUSTOM21 -> 70).


Script call to swap out textures on the fly

A new script call was added:

Code: [Select]
// Makes oPC load texture sNewName instead of sOldName.
// If oPC is OBJECT_INVALID, it will apply the override to all active players
// Setting sNewName to "" will clear the override and revert to original.
void SetTextureOverride(string sOldName, string sNewName = "", object oPC = OBJECT_INVALID);

Changes made through this call will appear immediately on clients.


NWSync

When downloading something via NWSync, disk writes now happen asynchronously while more content is downloaded. This should minimise occurrences of "Waiting On Storage". If this is giving you grief, you can turn it off in settings via the key "nwsync.transfer.flush.async".

The NWSync Downloader UI was swapped out with a new version, which is now rendered in Nuklear. It has a fancy graph and a pause button.

Finally, the Storage Manager (Options -> NWSync) now has two tabs: Servers, and Modules. Server manifests (i.e. when joining a PW that offers files) show up in the Server tab.

The Modules tab will show all singleplayer/offline modules you have downloaded via NWSync. To facilitate this, the Storage Manager UI now can download offline modules for you; however, by default, no remote repositories offering this are added to your game.

To add a remote repository, add the following lines to your settings.tml (right at the top is fine, the game will sort them in properly on next launch):

Code: [Select]
[[nwsync.downloader.repositories]]
name = "NWVault"
url = "http://sync.neverwintervault.org/"

To actually generate a repository of your own that can offer singleplayer modules for download, you need to generate NWSync manifests that have module contents in them (nwsync_write --with-module --group-id N ...). Finally, add all manifests into a big json array in modules.json in the repository root (the nwsync_write tooling will update soon to do this for you). See the sample repository if it is unclear.

Modules downloaded this way will show up under "Other Modules" when clicking Singleplayer -> New Game.


Texture Binding

There is a new, experimental, texture caching system in place that will speed up GL texture binding, depending on your hardware (especially if you are CPU-bound). It is enabled by default, but you can turn it off via the config flag graphics.experimental.aggressive-texture-caching, if it turns out to have issues.

We have seen - depending on scene complexity and the amount of texture maps in use - dramatic performance improvements. We'd appreciate feedback on this.


Shader Issues

We fixed a shader issue that would result in illumination appearing on content that was intended to be black (e.g. the tile borders in the “Dungeon” tileset).


Texture Issues

We fixed mipmaps not being generated for non-compressed textures.


ResMan

ResMan can now use more than 256MB of memory for caching. There is a configuration option to specify the percentage of detected physical memory that ResMan can use. Additionally, new defaults in place will avoid I/O churn, resulting in vastly improved performance in complex scenes.


ResMan Priorities

The priorities of userpatch, modules, haks, and override have been restored.


Toolset

•   Toolset now allows selection of heads from custom slots 50-99.
•   The up and down arrow keys for Adjust Position now progress in perfect sequence.
•   We fixed a bug where double-clicking on an area entry could cause parts of the toolbar to grey out.
•   We fixed a truncation issue when using search & replace in the script editor.
•   You can now add a NAME CExoString field to your custom tileset palettes, instead of having to put a STRREF.
•   Object descriptions over 2000 characters long are no longer truncated.
•   The toolset no longer crashes when moving the start location between areas open in multiple tabs.
•   A group of raised objects now retains their z-level when moved.

Miscellanea

•   [Windows] We fixed large strings, such as chat logs, disappearing if they exceed 1024 characters.
•   We addressed an issue where models/resources would leak over when hopping servers, sometimes resulting in a crash.
•   We updated the crash reporter text and URL.

Have a great start into 2020!

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on February 28, 2020, 12:17:55 AM
Neverwinter Nights: Enhanced Edition Development Build 8193.7
Thu, 27 February 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_df01ca9560393036d7724fb7dc698a2600e3a77e.1920x1080.jpg?t=1566490847)


Hello, friends.

This development patch brings NWN:EE to version 8193.7. You can crossplay on all 8193 servers, as well as with friends on the same major version!


We appreciate any and all testing on this!

Tileset changes

•   Collision (250+) Added necessary spacing for "drive-through" transitions, and fixed faulty walkmeshes
•   Lighting (150+) Fixed lights with improper flags set, for performance.
•   Emitters & Animations (150+) Tiles with bad settings on emitters, and improper animation sequences, were fixed
•   All doors in game (192) checked for animations, transitions, collision. Transition meshes changed to reflect door art.
•   Over 850 optimization and beauty fixes for Castle Exterior, Rural set imported from the Tyrants of the Moonsea premium module
•   Major pathfinding fixes for Castle Exterior, Rural
•   A handful of new doors to fit the tile art better
•   A new "Doorcap, Interior" Feature Tile for TNI02 and TNI01, to allow drive-through transitions for doors placed on very edges of areas
•   Doors with improper orientation arrows were fixed where discovered, as well as negative values in the SET files


Game Features

•   The data build has been updated, containing the above-mentioned tileset fixes (ovr/ has been cleaned out into the keyfiles as well, in case you were wondering).
•   ruleset.2da now exposes the following chargen-related constants: CHARGEN_ENABLED_PHENOTYPES, CHARGEN_ABILITY_COST_INCREMENT2, CHARGEN_ABILITY_COST_INCREMENT3, CHARGEN_ABILITY_COST_INCREMENT4, CHARGEN_BASE_ABILITY_MIN, CHARGEN_BASE_ABILITY_MIN_PRIMARY, CHARGEN_BASE_ABILITY_MAX, CHARGEN_ABILITY_NEUTRAL_VALUE, CHARGEN_ABILITY_MODIFIER_INCREMENT, CHARGEN_SKILL_MAX_LEVEL_1_BONUS
•   Chargen combinations with any domain, school, spell, and companion should now work fine.
•   Radial subspell count has been upped to 8 (from 5).
•   Chargen now allows customisation of class, race, gender, and alignment starting clothes (chargenclothes.2da).


Perf

This patch brings in a series of performance improvements into the game, that will see the average FPS go up by at least 30% - and in many cases, even more - in many scenes compared to the last stable release.

•   Perf optimisation: Timer-related updates with many AI objects.
•   Perf optimisation: The config system is now smarter in tracking updates.
•   Perf optimisation: Shadows are now much cheaper on the cpu.
•   Perf optimisation: Texture units are now managed more efficiently.
•   Perf optimisation: Transformation matrix updates have been optimised.
•   Perf optimisation: Buffer uploads to the GPU have been made smarter.
•   Perf optimisation: Texture caching has been optimised.
•   A new renderhint "NormalTangents" was added, that omits checking for specular maps.
•   Perf optimisation: nwsync setup and updates now avoid excess memcpys and should be much faster.


Game Fixes

•   We fixed cls_stat_ tables erroneously being read off by one when validating characters.
•   [Windows] We fixed fullscreen resolution not being detected on first start.
•   We fixed Creature and Heartbeat logging settings being conflated.
•   We fixed GetCasterLevel() on AOEs/SLAs erroneously invalid values.
•   We fixed Linux Steam CD key provisioning.
•   Fixed tile path nodes not showing up.
•   We fixed ground triggers disappearing or losing tint.
•   Lighting oddities in GUI scenes with some advanced shader mechanisms have been addressed.
•   WCOC no longer crashes the game.
•   The GetDurationRemaining-like script calls now work properly when the duration is longer than one day.
•   The game now defaults to fullscreen on all platforms except MacOS.
•   [Mac] Screen Edge Camera Turning when using the MacOS builtin maximise works again.
•   CopyObject() with a new tag specified no longer erroneously adds the object to the old tag lookup.
•   The player name is now properly sent to the server even if the Remember checkbox is not checked.
•   racialtypes.2da no longer divides by zero when the FeatPerLevel columns are 0.
•   The lightning flash model was resized to full even large screens.
•   pregen.2da now contains all builtin bics so they don't litter the character selection anymore.
•   The parameter +password on the command line was fixed.
•   Human female PLT textures now fall back to male if missing.
•   Intro movies now again play correctly.
•   Windows server now shows the patch revision (.7).
•   The NWSync Downloader now shows a more verbose error if it is unavailable.
•   A crash in chargen when adding more lines to skills.2da has been fixed.
•   A rare nullptr dereference when adding unknown party members has been fixed.
•   ActivatePortal() now properly uses relays if needed.
•   Learn Scroll no longer hangs the server.
•   ELC for Sorcerer and Bards with too many spells has been fixed.
•   Class IDs > 15 now get spells in the radial.
•   Support for >17 bones.
•   When reading configuration variables, 't' and 'true' are now valid trueish.
•   Custom weapon visual effects are no longer off by one in the 2da.
•   When reading configuration environment override variables, . and - are now replaced with _.
•   Custom tokens are no longer erroneously cleared when reloading a module.


Toolset

•   The script editor no longer freezes when trying to compile **/**.
•   Shield equipping logic in the creature editor was fixed.


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on March 11, 2020, 12:18:18 AM
Neverwinter Nights: Enhanced Edition Development Build 8193.8
Tue, 10 March 2020

Greetings!

Patch 8193.8 on the Development branch fixes all known regressions introduced by .7; and brings in some neat, new features for you to play with.

Please help us test it and report any bugs you find!


Improvements

•   Spells in the spellbook are now sorted (alphabetically). You can turn this off in settings.tml: ui.spellbook.sort-spells
•   New ruleset.2da toggle: ALLOW_CUSTOM_PORTRAITS (in chargen)
•   Pathfinding when clicking near objects was improved:
 
(https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/31261212/abe81694815e45410304dafbd9a817085e2f69a2.gif)


Fixes

•   "No preparations left" spell cast issues were addressed.
•   Fixed casting spells from some cleric domains.
•   Fixed assigned spells in the UI losing metamagic or spontaneous flags.
•   We fixed players losing the party or party members.
•   Players can now, once again, finish chargen with customised packages.
•   We fixed non-english languages missing some voices and sound effects.


New Scripting Functions

GetSpecialization(), GetDomain()

Code: [Select]
int DOMAIN_AIR = 0;
int DOMAIN_ANIMAL = 1;
int DOMAIN_DEATH = 3;
int DOMAIN_DESTRUCTION = 4;
int DOMAIN_EARTH = 5;
int DOMAIN_EVIL = 6;
int DOMAIN_FIRE = 7;
int DOMAIN_GOOD = 8;
int DOMAIN_HEALING = 9;
int DOMAIN_KNOWLEDGE = 10;
int DOMAIN_MAGIC = 13;
int DOMAIN_PLANT = 14;
int DOMAIN_PROTECTION = 15;
int DOMAIN_STRENGTH = 16;
int DOMAIN_SUN = 17;
int DOMAIN_TRAVEL = 18;
int DOMAIN_TRICKERY = 19;
int DOMAIN_WAR = 20;
int DOMAIN_WATER = 21;

// Returns oCreature's spell school specialization in nClass (SPELL_SCHOOL_* constants)
// Unless custom content is used, only Wizards have spell schools
// Returns -1 on error
int GetSpecialization(object oCreature, int nClass = CLASS_TYPE_WIZARD);

// Returns oCreature's domain in nClass (DOMAIN_* constants)
// nDomainIndex - 1 or 2
// Unless custom content is used, only Clerics have domains
// Returns -1 on error
int GetDomain(object oCreature, int nDomainIndex = 1, int nClass = CLASS_TYPE_CLERIC);


PostString()

Code: [Select]
int SCREEN_ANCHOR_TOP_LEFT = 0;
int SCREEN_ANCHOR_TOP_RIGHT = 1;
int SCREEN_ANCHOR_BOTTOM_LEFT = 2;
int SCREEN_ANCHOR_BOTTOM_RIGHT = 3;
int SCREEN_ANCHOR_CENTER = 4;

// Displays sMsg on oPC's screen.
// The message is displayed on top of whatever is on the screen, including UI elements
// nX, nY - coordinates of the first character to be displayed. The value is in terms
// of character 'slot' relative to the nAnchor anchor point.
// If the number is negative, it is applied from the bottom/right.
// nAnchor - SCREEN_ANCHOR_* constant
// fLife - Duration in seconds until the string disappears.
// nRGBA, nRGBA2 - Colors of the string in 0xRRGGBBAA format. String starts at nRGBA,
// but as it nears end of life, it will slowly blend into nRGBA2.
// nID - Optional ID of a string. If not 0, subsequent calls to PostString will
// remove the old string with the same ID, even if it's lifetime has not elapsed.
// Only positive values are allowed.
// sFont - If specified, use this custom font instead of default console font.
void PostString(object oPC, string sMsg, int nX = 0, int nY = 0, int nAnchor = SCREEN_ANCHOR_TOP_LEFT, float fLife = 10.0f, int nRGBA = 2147418367, int nRGBA2 = 2147418367, int nID = 0, string sFont="");


Fixes to Wyvern: Crown of Cormyr

•   The module now includes all script sources
•   Fixed "horse hat", and "cannot mount, your tail is in the way" issues
•   Lucinda's Warhorse sometimes vanished upon creation, in Thunderstone
•   Empty joust journal entries now read properly
•   Tile repairs (Castle Barrow, end game bridge, a couple odds & ends)
•   Soundset.2da conflicts with Heros of Neverwinter fixed
•   Realigned all horse and snake blue prints to use proper soundsets
•   Removed duplicate/conflicting SET, ITP, 2DA and TGA files
•   Lifted a Z-fighting prop in Jousting Grounds
•   Replaced missing doors in Polter's Fort (Lower/Upper)
•   Fixed broken transition between Wyvernwater Castle Stables and Wyvernwater Castle


Fixes to Pirates Of The Sword Coast

•   The module now includes all script sources
•   Eliminated content from haks duplicated in XP3.bif, merged 2DA's where possible
•   Performance fixes for PotSC-Exclusive tiles (TCN01)
•   Fixed a few cases where henchmen could go hostile in cutscenes and break the game


Tileset changes

•   Off-height and blocking walkmeshes fixed for bridges in Sea Caverns and Steamworks sets
•   Repaired 2 TNO01 tiles for SQRT Error
•   Repaired the 2x2 smithy in TNI01, and made the DoorCap, interior a unique tile
•   Fixed a shadow leak in the hobgoblin head model (seen in WCoC intro cutscene)
•   Performance fixes for TCN01 (stock assets)
•   Fixed a blocky water VFX on a TCN01 Temple's fountain (TCN01_W03_01)
•   Fixed blocky smoke on a couple forest campfires (TTF01_T13_01 and TTF01_S16_01)
•   Repaired a few reported broken walkmeshes, in various sets


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on March 19, 2020, 10:32:32 AM
Dark Dreams of Furiae - a new module for NWN:EE
Wed, 18 March 2020

(https://steamcdn-a.akamaihd.net/steam/apps/1247750/header.jpg?t=1584568202)


Looking for a new adventure?


Developers at & Silverstring Media & Phantom Compass just announced a new module for Neverwinter Nights: Enhanced Edition.

The Dark Dreams of Furiae DLC is coming soon to Steam, GOG and the Beamdog Store.

https://store.steampowered.com/app/1247750/Neverwinter_Nights_Enhanced_Edition_Dark_Dreams_of_Furiae/

Planned Release Date: 24 March

Features

•   10 hours of brand new gameplay for Neverwinter Nights: Enhanced Edition
•   Solo and co-op play
•   Original Music Score
•   Takes characters from level 5 to 8
•   Time is of the essence: day/night cycle marches on; your choices bring new events
•   Daily news sheet adapts to your decisions and gives adventure clues
•   Based on the Planescape D&D campaign setting
•   Events coincide with official D&D tabletop campaign, Baldur's Gate: Descent into Avernus

(https://steamcdn-a.akamaihd.net/steam/apps/1247750/extras/dia_banner_-_Copy.jpg?t=1584568202)


STORY

Set in the planar city of Furiae on the edge of hell, Dark Dreams of Furiae coincides directly with the official Dungeons & Dragons tabletop campaign, Baldur's Gate: Descent into Avernus!

🔥Dark Dreams of Furiae: A City on the Edge of Hell🔥

In the fallen city of Furiae, ruled by devils and despots, a quiet war wages for the hearts and minds of the people. Into this chaos, a new arcane substance is smuggled: worldwine. Worldwine is deadly to devils, and turns mortals into dream-addled fanatics.

Fight to save a damned city in this planar mystery adventure…

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on March 25, 2020, 12:43:10 PM
Launch Day: Dark Dreams of Furiae—a new module for NWN:EE
Tue, 24 March 2020

(https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/31261212/20856285723fcad9bee7f20c526b2b6a99f4f7ff.png)

A brand new module for Neverwinter Nights: Enhanced Edition launches today!

Developers at Silverstring Media & Phantom Compass just launched a brand new module for Neverwinter Nights: Enhanced Edition.

Dark Dreams of Furiae is a mystery adventure on the edge of hell! 🔥
Get it now > $4.99 USD

Features

•   10 hours of brand new gameplay for Neverwinter Nights: Enhanced Edition
•   Solo and co-play
•   Original Music Score
•   Takes characters from level 5 to 8
•   Time is of the essence: day/night cycle marches on; your choices bring new events
•   Daily news sheet adapts to your decisions and gives adventure clues
•   Based on the Planescape D&D campaign setting
•   Events coincide with official D&D tabletop campaign, Baldur's Gate: Descent into Avernus

Story

Set in the planar city of Furiae on the edge of hell, Dark Dreams of Furiae coincides directly with the official Dungeons & Dragons tabletop campaign, Baldur's Gate: Descent Into Avernus!

(https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/31261212/ee3ab7d1264f1cd27d989e542251ac8d103a51a4.jpg)
 
🔥Dark Dreams of Furiae:
A City on the Edge of Hell🔥

In the fallen city of Furiae, ruled by devils and despots, a quiet war wages for the hearts and minds of the people. Into this chaos, a new arcane substance is smuggled: worldwine. Worldwine is deadly to devils, and turns mortals into dream-addled fanatics. Fight to save a damned city in this planar mystery adventure…

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 10, 2020, 12:26:32 AM
Development Build 8193.10
Thu, 9 April 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_29949cb853184998c3030b16cba1d16e6ac5291e.1920x1080.jpg?t=1585090303)


Pathfinding

Pathfinding performance has been improved drastically; especially on big areas with a lot of static placeables (up to 90% reduction in CPU time spent on pathing).

A new configuration toggle has been added: server.experimental.enhanced-pathfinding; it defaults to on. With this option, combat AI will be much smarter in pathing to their target and thus impact the module experience/difficulty somewhat. We appreciate your feedback on this change. If you need this OFF on your server for whatever reason, just turn this flag off in settings.tml.

Features

•   Script errors are now logged to the server log.
•   SSAO performance and accuracy has been improved.
•   Dynamic contrast performance and accuracy has been improved.
•   Depth of field performance and accuracy has been improved. A new configuration value can be used to set the amount in addition to turning it on and off.
•   Sharpen performance and accuracy has been improved.
•   Visual effects, emitters, lens flares are now subject to post processing.
•   CLI nwserver now shows proper help for NWSync-related parameters.
•   Framebuffer: View and projection matrices are now accessible properly.
•   Framebuffer: Alpha testing on FB effect pass was disabled; fixes background colour appearing erroneously on low alpha.
•   Framebuffer: Depth testing was disabled on FB effect pass; fixes background colour appearing erroneously for objects close to screen pane.
•   Framebuffer: All lights (static and dynamic) are now enabled for FB effect passes; fixes them not applying to tinted emitters.
•   Many more .ini options have been migrated to .tml.


Fixes

•   Savegame support for offline NWSync modules has been fixed (by shuffling CURRENTGAME resman priority for NWSync only). Effectively, offline NWSync modules now have a lower HAK priority. HAK priority for non-NWSync games is the same as before.
•   VM: SetEventScript properly returns TRUE on success. #9
•   VM: SetEventScript no longer crashes when passing in invalid constants.
•   VM: GetCampaignVector now properly returns the Z value of stored vectors. #10
•   ActivatePortal no longer erroneously shows character selection if a character is sent along. #2
•   Chargen now allows lowering stats back under 11 for non-caster primaries. #3
•   Texture caching was improved.
•   Script/effect timers no longer overflow when the duration is more than a day.
•   PostString() strings are no longer hidden when the radial menu opens. #11
•   settings.tml is no longer erroneously half-truncated when the game crashes while saving out the file.
•   BootPC() no longer crashes the server if called twice on the same player #6
•   Fixed textures getting erroneously evicted between module loads #7
•   VM: We fixed a memleak in AssignCommand, DelayCommand, ActionDoCommand
•   VM: We fixed a memleak when removing effects from objects
•   NWSync: We addressed an issue where sqlite3 would fail to open NWSync databases on non-ANSI path names


Toolset

•   Access violation when compiling scripts with nested structs has been fixed.


New Script Commands

Code: [Select]
// Returns the build number of oPlayer (i.e. 8193).
// Returns 0 if the given object isn't a player or did not advertise their build info.
int GetPlayerBuildVersionMajor(object oPlayer);

// Returns the patch revision of oPlayer (i.e. 8).
// Returns 0 if the given object isn't a player or did not advertise their build info.
int GetPlayerBuildVersionMinor(object oPlayer);


Tileset Changes

•   Doors on area edges have been fixed. #13
•   TTF01_T13_01, TTF01_S13_01: Fixed torches to work properly w/ Source Lights & w/o glowing meshes, and a campfire emitter that never shut off
•   TTF01_P10_01: Restored missing waterfall animation, with an animloop to control it
•   TDC01_Q02_01: Restored missing animated meshes from Bioware Source files, and merged them back into the tile
•   TWC03_C43_02 (SET File): Set the X-position to 0.0 instead of a negative scientific number
•   TNO01_M53_(11-14): Repaired a bad texture assignment, and closed a seam running along two tile edges


Premium Modules

•   Kingmaker: Missing assets from 1.0 have been restored, including script sources
•   Shadow Guard: Script sources are now included
•   Witches Wake: Script sources are now included
•   Darkness over Daggerford, Tyrants of the Moonsea: New door tiles to replace the Placeable Doors; assorted tile fixes to enable drive-through transitions

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 25, 2020, 12:16:35 AM
Development Build 8193.11
Fri, 24 April 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_927609488f54eb46e4f08e3f39751b353eb86850.1920x1080.jpg?t=1585090303)


Fixes

•   Lighting: Light priority selection was improved. Distance/far dynamic lights should no longer override closer - more important - lights. (This can be turned off with the option graphics.experimental.enhanced-light-managing)
•   Config: A corner case where server favourites and history was not saved was fixed.
•   VM: GetSpellSaveDC now uses the SpellcastingAbility column, instead of the PrimaryMod column. #27
•   VM: A pathfinding issue in RandomWalk() was fixed, where calling the function sometimes did nothing.
•   VM: PostString() strings are now rendered in sort order.
•   A heap buffer read overflow in pathfinding was addressed, that could previously have resulted in some jerky movement when blocked by a door or placeable.
•   SSAO fbo: We exorcised some spooky ghosting that manifested when panning the camera.
•   [NVIDIA] Toolset: It should no longer be necessary to force threaded optimisation off manually.
•   Toolset: Music and Ambient Sounds can now be loaded from ResMan (haks) if listed in the 2da.
•   [Linux] Server command line help now includes nwsync-related args.
•   Server: We optimised gff validation performance. Even very large character files with lots of local vars should no longer hang needlessly.
•   Fixed an issue that were causing custom dynamic race models to always use the human texture variant. #31

Content Changes

•   Bad campfire animation on TTF01_T13_01
•   Fixed stringy shadows on Driftwoods 1&2, Market Stall 01, Dragon Statue, and Castle Rural tiles TNO01_A06_01, TNO01_B51_02, & TNO01_C01_02

Premium: Darkness over Daggerford

•   Replaced a missing door in the Stronghold
•   Fixed stringy shadows on the Kocharan model

Premium: Tyrants of the Moonsea

•   Fixed a bad campfire animation on TTF01_T13_01 (Facelift version)
•   Fixed door with bad orientation in TCM02, as well as Melvaunt Shipyards (Entrance to Resting Place of the Whip)

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 07, 2020, 12:25:41 AM
Development Patch 8193.12
Wed, 6 May 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_927609488f54eb46e4f08e3f39751b353eb86850.1920x1080.jpg?t=1588367124)


Fixes

•   Changed the movie render scale to fit-to-window.
•   Fixed renderaabb not showing up properly on all tiles. #43
•   Fixed skylight beams (forest sunbeams, etc.) not rendering properly in all cases.
•   VM: Fix script commands not properly accessing area UUIDs. #41
•   CampaignDB: Fix RetrieveCampaignVector returning zeroed out vectors. #44
•   Fixed a heap overflow read when spawning a encounter list.
•   Linear filtering on post processing passes has been disabled. This takes care of yet more (subtle) ghosting.
•   [Windows] OpenAL: Fix crash when no sound devices are available.
•   [Windows] OpenAL: DLL was replaced with OpenAL Soft, fixing launch crashes when OpenAL was not installed.
•   [Windows] OpenAL: Address issues with sounds disappearing during long play sessions.
•   [Windows] OpenAL: Fix issues with sounds disappearing when too many sounds are playing at the same time.
•   VM: DestroyArea() now behaves the same as DestroyObject(): Instead of destroying the area immediately, it schedules it for removal immediately after script exit. This fixes accessing freed memory when destroying an area from an area event.
•   VM: GetCasterLevel() now returns 0 for AOEs instead of crashing. #34
•   classes.2da: fix not using SpellcastingAbil for non-memorising casters. #39
•   [Windows] nwhak.exe: Add support for ktx, ttf, sql, tml, sq3, lod file types.
•   [Windows] We fixed settings.tml sometimes not being written out properly.

Toolset

•   Removed the warning dialogue that shows when opening a module with haks.
•   Added a setting to always open module directories.
•   The outdated and unused registry read + warning UI has been purged.
•   Conversation editor opening time has been optimised.
•   Modules are now sorted alphabetically and the last-opened module is selected by default.
•   Modern UI skinning has been enabled.
•   The tabbed UI is now on by default.
•   Fixed a crash when pasting objects from a closed area.
•   Fixed a bug in placeable properties UI where it would open the wrong dialogue file.

Premium

•   DoD - Fixed a crash with the Kocharan model (only when compiled and spawned via script)
•   Tyrants - Rearranged placeables that shifted and blocked a doorway in Zhentil Keep (when the door was opened).

Art

•   Driftwood 2, TNO01_A06_01: Fixed Shadows (again)
•   Alchemist Apparatus 1 & 2: Shadow, UV, Mesh & Walkmesh fixes
•   TN_SDOOR_02 Fixed a broken/missing animation (#26)
•   TN_SDOOR_19 Reclassified as Type=Door (#29)
•   TNO_V00_09 Fixed ground texture (now set back to Grass) (#25)
•   TNO01_Chain01.DDS Cleaned up the alpha channel and texture shape, resized to 2x (512 x 256) (#23)
•   TNO01_B70_01 Repaired misplaced geometry (#22)
•   TCN01_J17_01 Repaired misplaced geometry, fixed animation to use an animloop (and allow shutdown)
•   TTZ01_EDGE.2da Added an entry to accomodate elevated stream with grass (used to show up blank-edged)

Data

•   NW_IT_ARMHE007.uti Removed the unnecessary 50 charges for Thieves' Hood (#24)


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 14, 2020, 11:35:32 AM
Stable Build 8193.13
Wed, May 13, 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_6d71af16466a9f725a969044dcae96ea76939f11.1920x1080.jpg?t=1588367124)


Hello, everyone!

Today, we are shipping patch 8193.13 to the stable branch of the game.

This patch is crossplay-compatible with all 8193 game releases, but we recommend upgrading to the newest version to gain access to the latest features!

We'd like to thank you, our faithful and patient community, for your help in providing feedback, reporting bugs, and testing our development branch in between!

Fixes

•   The .lod file parser now parses files not ending in a newline correctly.

Art

•   TNO01_V02_03: Fixed splash VFX on waterfall (not on its own animloop, waterfall animation still intermittent).
•   TCN01_E09_01: Bad orientation on meshes caused shifting and blank spots.
•   TNO01.SET: Pathfinding, Orientation & Visibility Fixes.
•   TN_GDOOR_08: Reverted to original art, addresses non-clickable area transitions at edge of map.

Toolset

•   Creature Wizard: remove stray "-1" text #50
•   Area tile light color picker no longer shows blank colors #49
•   Inventory window now renders icon backgrounds properly #47

Premium

•   Tyrants of the Moonsea: Fixed 3 shifted cliff sets (placeables) in Elmwood


In addition, this patch includes the previous development builds .10, .11 and .12, summarised here:

Pathfinding

Pathfinding performance has been improved drastically; especially on big areas with a lot of static placeables (up to 90% reduction in CPU time spent on pathing).

A new configuration toggle has been added: server.experimental.enhanced-pathfinding; it defaults to on. With this option, combat AI will be much smarter in pathing to their target and thus impact the module experience/difficulty somewhat. We appreciate your feedback on this change. If you need this OFF on your server for whatever reason, just turn this flag off in settings.tml.

Features

•   Script errors are now logged to the server log.
•   SSAO performance and accuracy has been improved.
•   Dynamic contrast performance and accuracy has been improved.
•   Depth of field performance and accuracy has been improved. A new configuration value can be used to set the amount in addition to turning it on and off.
•   Sharpen performance and accuracy has been improved.
•   Visual effects, emitters, lens flares are now subject to post processing.
•   CLI nwserver now shows proper help for NWSync-related parameters.
•   Framebuffer: View and projection matrices are now accessible properly.
•   Framebuffer: Alpha testing on FB effect pass was disabled; fixes background colour appearing erroneously on low alpha.
•   Framebuffer: Depth testing was disabled on FB effect pass; fixes background colour appearing erroneously for objects close to screen pane.
•   Framebuffer: All lights (static and dynamic) are now enabled for FB effect passes; fixes them not applying to tinted emitters.
•   Many more .ini options have been migrated to .tml.

Fixes

•   Savegame support for offline NWSync modules has been fixed (by shuffling CURRENTGAME resman priority for NWSync only). Effectively, offline NWSync modules now have a lower HAK priority. HAK priority for non-NWSync games is the same as before.
•   VM: SetEventScript properly returns TRUE on success. #9
•   VM: SetEventScript no longer crashes when passing in invalid constants.
•   VM: GetCampaignVector now properly returns the Z value of stored vectors. #10
•   ActivatePortal no longer erroneously shows character selection if a character is sent along. #2
•   Chargen now allows lowering stats back under 11 for non-caster primaries. #3
•   Texture caching was improved.
•   Script/effect timers no longer overflow when the duration is more than a day.
•   PostString() strings are no longer hidden when the radial menu opens. #11
•   settings.tml is no longer erroneously half-truncated when the game crashes while saving out the file.
•   BootPC() no longer crashes the server if called twice on the same player #6
•   Fixed textures getting erroneously evicted between module loads #7
•   VM: We fixed a memleak in AssignCommand, DelayCommand, ActionDoCommand
•   VM: We fixed a memleak when removing effects from objects
•   NWSync: We addressed an issue where sqlite3 would fail to open NWSync databases on non-ANSI path names
•   Lighting: Light priority selection was improved. Distance/far dynamic lights should no longer override closer - more important - lights. (This can be turned off with the option graphics.experimental.enhanced-light-managing)
•   Config: A corner case where server favourites and history was not saved was fixed.
•   VM: GetSpellSaveDC now uses the SpellcastingAbility column, instead of the PrimaryMod column. #27
•   VM: A pathfinding issue in RandomWalk() was fixed, where calling the function sometimes did nothing.
•   VM: PostString() strings are now rendered in sort order.
•   A heap buffer read overflow in pathfinding was addressed, that could previously have resulted in some jerky movement when blocked by a door or placeable.
•   SSAO fbo: We exorcised some spooky ghosting that manifested when panning the camera.
•   [NVIDIA] Toolset: It should no longer be necessary to force threaded optimisation off manually.
•   Toolset: Music and Ambient Sounds can now be loaded from ResMan (haks) if listed in the 2da.
•   [Linux] Server command line help now includes nwsync-related args.
•   Server: We optimised gff validation performance. Even very large character files with lots of local vars should no longer hang needlessly.
•   Fixed an issue that were causing custom dynamic race models to always use the human texture variant. #31
•   Changed the movie render scale to fit-to-window.
•   Fixed renderaabb not showing up properly on all tiles. #43
•   Fixed skylight beams (forest sunbeams, etc.) not rendering properly in all cases.
•   VM: Fix script commands not properly accessing area UUIDs. #41
•   CampaignDB: Fix RetrieveCampaignVector returning zeroed out vectors. #44
•   Fixed a heap overflow read when spawning a encounter list.
•   Linear filtering on post processing passes has been disabled. This takes care of yet more (subtle) ghosting.
•   [Windows] OpenAL: Fix crash when no sound devices are available.
•   [Windows] OpenAL: DLL was replaced with OpenAL Soft, fixing launch crashes when OpenAL was not installed.
•   [Windows] OpenAL: Address issues with sounds disappearing during long play sessions.
•   [Windows] OpenAL: Fix issues with sounds disappearing when too many sounds are playing at the same time.
•   VM: DestroyArea() now behaves the same as DestroyObject(): Instead of destroying the area immediately, it schedules it for removal immediately after script exit. This fixes accessing freed memory when destroying an area from an area event.
•   VM: GetCasterLevel() now returns 0 for AOEs instead of crashing. #34
•   classes.2da: fix not using SpellcastingAbil for non-memorising casters. #39
•   [Windows] nwhak.exe: Add support for ktx, ttf, sql, tml, sq3, lod file types.
•   [Windows] We fixed settings.tml sometimes not being written out properly.

Toolset

•   Access violation when compiling scripts with nested structs has been fixed.

New Script Commands

Code: [Select]
// Returns the build number of oPlayer (i.e. 8193).
// Returns 0 if the given object isn't a player or did not advertise their build info.
int GetPlayerBuildVersionMajor(object oPlayer);

// Returns the patch revision of oPlayer (i.e. 8).
// Returns 0 if the given object isn't a player or did not advertise their build info.
int GetPlayerBuildVersionMinor(object oPlayer);

Art & Content

•   Doors on area edges have been fixed. #13
•   TTF01_T13_01, TTF01_S13_01: Fixed torches to work properly w/ Source Lights & w/o glowing meshes, and a campfire emitter that never shut off
•   TTF01_P10_01: Restored missing waterfall animation, with an animloop to control it
•   TDC01_Q02_01: Restored missing animated meshes from Bioware Source files, and merged them back into the tile
•   TWC03_C43_02 (SET File): Set the X-position to 0.0 instead of a negative scientific number
•   TNO01_M53_(11-14): Repaired a bad texture assignment, and closed a seam running along two tile edges
•   Bad campfire animation on TTF01_T13_01
•   Fixed stringy shadows on Driftwoods 1&2, Market Stall 01, Dragon Statue, and Castle Rural tiles TNO01_A06_01, TNO01_B51_02, & TNO01_C01_02
•   Driftwood 2, TNO01_A06_01: Fixed Shadows (again)
•   Alchemist Apparatus 1 & 2: Shadow, UV, Mesh & Walkmesh fixes
•   TN_SDOOR_02 Fixed a broken/missing animation (#26)
•   TN_SDOOR_19 Reclassified as Type=Door (#29)
•   TNO_V00_09 Fixed ground texture (now set back to Grass) (#25)
•   TNO01_Chain01.DDS Cleaned up the alpha channel and texture shape, resized to 2x (512 x 256) (#23)
•   TNO01_B70_01 Repaired misplaced geometry (#22)
•   TCN01_J17_01 Repaired misplaced geometry, fixed animation to use an animloop (and allow shutdown)
•   TTZ01_EDGE.2da Added an entry to accomodate elevated stream with grass (used to show up blank-edged)
•   NW_IT_ARMHE007.uti Removed the unnecessary 50 charges for Thieves' Hood (#24)

Premium Modules

•   Kingmaker: Missing assets from 1.0 have been restored, including script sources
•   Shadow Guard: Script sources are now included
•   Witches Wake: Script sources are now included
•   Darkness over Daggerford, Tyrants of the Moonsea: New door tiles to replace the Placeable Doors; assorted tile fixes to enable drive-through transitions
•   Darkness over Daggerford: Replaced a missing door in the Stronghold
•   Darkness over Daggerford: Fixed stringy shadows on the Kocharan model
•   Tyrants of the Moonsea: Fixed a bad campfire animation on TTF01_T13_01 (Facelift version)
•   Tyrants of the Moonsea: Fixed door with bad orientation in TCM02, as well as Melvaunt Shipyards (Entrance to Resting Place of the Whip)
•   Darkness over Daggerford: Fixed a crash with the Kocharan model (only when compiled and spawned via script)
•   Tyrants of the Moonsea: Rearranged placeables that shifted and blocked a doorway in Zhentil Keep (when the door was opened).

Toolset

•   Removed the warning dialogue that shows when opening a module with haks.
•   Added a setting to always open module directories.
•   The outdated and unused registry read + warning UI has been purged.
•   Conversation editor opening time has been optimised.
•   Modules are now sorted alphabetically and the last-opened module is selected by default.
•   Modern UI skinning has been enabled.
•   The tabbed UI is now on by default.
•   Fixed a crash when pasting objects from a closed area.
•   Fixed a bug in placeable properties UI where it would open the wrong dialogue file.


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on August 08, 2020, 02:32:04 AM
Development Build 8193.14
Fri, 7 August 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_6d71af16466a9f725a969044dcae96ea76939f11.1920x1080.jpg?t=1588367124)

Hello Neverwinter friends!

Today is the day for a new development patch, and it is a big one. Please test it thoroughly, as we intend this to hit stable in the coming weeks!

This patch is compatible with the current stable (8193.13), so you can play on servers with it that have not yet upgraded. However, some of the new features will not work on servers. To get the full experience, you will have to update both server and clients to this patch.

New Lighting Engine

This patch includes a new enhanced lighting engine, that is governed by the same principles as you would see in other modern games that aim for realistic lighting. The aim is both to allow much higher quality future content, but also in large to enhance the visual quality of existing content.

Pictures say more than a thousand words:

https://nwn.beamdog.net/web/8193.14-comparison-shots/

The blue dot in the middle can slide left and right to compare before/after. The left side is the old/current render; the right side is the new lighting engine.

These are the main elements of this new lighting engine:
•   Physically based rendering (PBR), with emulation of specular reflection, surface “roughness”, Fresnel-effects and gamma correction. All in all, this gives a more realistic and “natural” look.
•   Tone mapping that prevents color distortion of bright lights and enables overbright.
•   Per-pixel lighting rather than per-vertex of the old setup, yielding much more precise light illumination levels relative to distance.
•   Full dynamic lighting, supporting up to 32 dynamic lights (previously NWN effectively only supported 6).


The lighting engine is by default on, but optional, as it is heavier on the GPU than the previous lighting model (especially if you run with 32 lights, but a minimum of 16 lights is recommended). You can turn it off in the Options menu. You can also tweak various parameters of the new lighting engine, such as attenuation and falloff. We would suggest leaving them at the defaults though, to ensure uniform content presentation.

Note that since the new lighting engine constitutes a significantly different way of computing light interaction and behavior, it is inevitable that overall illumination levels in some areas will change, which can result in certain areas becoming too bright or too dark. We have been carefully tuning the various parameters to minimize this effect, but ultimately, moving toward more realistic and sophisticated lighting will always come with this trade-off. If you find that the game has become too dark or too bright, we recommend that you adjust the brightness level by using the gamma slider accessible in the graphics options.

New Water Rendering

Water presentation has also been improved significantly. It now renders full dynamic light reflections, including sun and moon. It also shows wave displacement based on area wide and local wind sources (such as explosions) much more realistically than the previous water did.

As with the other lighting changes, some areas may appear differently, and builders using tile lights will now see them in the reflections, and may wish to edit an area’s lights so that both the area and the reflections appear as desired.

There are configuration options in the UI to turn this feature off.

Again, please visit this link to see the improvements to water in action:

https://nwn.beamdog.net/web/8193.14-comparison-shots/

Grass Rendering

Grass is now rendered sorted by distance, fixing transparency issues and making it look denser and more natural.

The comparison link posted above has visual examples of this.

Grass rendering also has been heavily optimised and should no longer pose a performance consideration, even in scenes with lots of it.

Other miscellaneous graphical improvements

Models spawned by visual effects now have fog properly applied and are not self-illuminated with a bright light anymore. This makes content spawned as visual effect render identical to other in game content, making things such as VFX spawned tiles and character equipment appear more natural.

Content import from Ossian premium modules

This patch includes all content from Darkness over Daggerford and Tyrants of the Moonsea, except the Rural Forest and Winter tileset facelifts by Zwerkules.
•   Medieval City, Medieval Rural, and Mountain Snow sets, by Zwerkules
•   Lizardfolk Interior microset
•   Seaships microset
•   Additions to several tilesets:
•   Several new docking ships groups, and a thatched-roof building, in Castle Exterior, Rural
•   New doorway tiles for Crypts and City Interior
•   476 assorted placeables
•   13 creature models
•   3 shields, the Wand of Orcus, and a brass candlestick 'torch'
•   A complete "time of day" skybox texture set for the “Icy, Clear sky” skybox
•   42 ambient Music tracks
•   54 load screens
•   25 assorted ambient sounds
•   5 sound sets (for specific new creatures)
•   Palettes and blueprints for all imported Ossian content: Items, Creatures, and Placeables

Player Dungeon Master Mode

Players can now acquire and relinquish DM privileges during normal play, assuming they know the DM password. A player DM will have all of the normal dungeon master ruleset amenities: Their player character will turn invincible; they will be able to cast any spell they wish, and their skill checks will always be made against max.

However, player DMs will not gain features specific to DM characters: Their feat list will not include all the DM abilities, and they will not walk any faster. They will also not join the DM party/faction, so they will not be able to see all player parties.

Dedicated servers can turn this off in configuration.

To enter player DM mode, you can use the console commands (`dm_login <pw>` and `dm_logout`), or you can use the debug UI.

There is a new script command that can be used to distinguish between player DMs and “real” DMs:
Code: [Select]
// Returns TRUE if the given player-controlled creature has DM privileges
// gained through a player login (as opposed to the DM client).
// Note: GetIsDM() also returns TRUE for player creature DMs.
int GetIsPlayerDM(object oCreature);


As a consequence, GetIsDM() will now return TRUE for player DMs. Previously, you could rely on this being static per-connection, as true DMs could not drop their privileges.
Pathfinding improvements

Pathfinding quality in placeable and creature-heavy areas has been significantly improved, beyond the optimisations already done in 8193.13.

Your character should no longer get stuck on random placeables, or not find their way around other creatures.
Conversation script parameters

You can now specify script parameters in the toolset conversation editor, and these parameters can be queried via new the new script command:
Code: [Select]
// Returns the script parameter value for a given parameter name.
// Script parameters can be set for conversation scripts in the toolset's
// Conversation Editor, or for any script with SetScriptParam().
// * Will return "" if a parameter with the given name does not exist.
string GetScriptParam(string sParamName);


There is also a script command to set parameters when invoking other scripts via ExecuteScript.
Code: [Select]
// Set a script parameter value for the next script to be run.
// Call this function to set parameters right before calling ExecuteScript().
void SetScriptParam(string sParamName, string sParamValue);

Scripted access to SQLite databases

Full access to the sqlite API has been added.

You can access the following databases:
•   Campaign: Databases spanning modules and savegames, living in database/.
•   Module: A database attached to the running module, persisted to savegames.
•   Player: Each player character has a database attached that gets saved to the character .bic file when saving to a vault (local/server), or exporting the character in singleplayer. It also gets saved to savegames.


To get you started, please check INSTALLDIR/lang/en/docs/SQLite.txt for a short introduction and further documentation on the newly-added script commands.

Please note: This is an advanced feature, and requires a solid understanding of SQL to make robust and effective use of.
Scripted mouse targeting mode

You can now trigger cursor targeting mode from scripting:
Code: [Select]
// Makes oPC enter a targeting mode, letting them select an object as a target
// If a PC selects a target, it will trigger the module OnPlayerTarget event.
void EnterTargetingMode(object oPC, int nValidObjectTypes = OBJECT_TYPE_ALL, int nMouseCursorId = MOUSECURSOR_MAGIC);

// Gets the target object in the module OnPlayerTarget event.
// Returns the area object when the target is the ground.
object GetTargetingModeSelectedObject();

// Gets the target position in the module OnPlayerTarget event.
vector GetTargetingModeSelectedPosition();

// Gets the player object that triggered the OnPlayerTarget event.
object GetLastPlayerToSelectTarget();


A new module event has been added to support this.

Caveat: The toolset cannot currently configure this module event. You need to set it via SetEventScript() at module load.

New script actions related to item property usage

These script commands allow NWScript to properly trigger item property usage, circumventing the Talent system.
Code: [Select]
// Returns the number of uses per day remaining of the given item and item property.
// * Will return 0 if the given item does not have the requested item property,
// or the item property is not uses/day.
int GetItemPropertyUsesPerDayRemaining(object oItem, itemproperty ip);

// Sets the number of uses per day remaining of the given item and item property.
// * Will do nothing if the given item and item property is not uses/day.
// * Will constrain nUsesPerDay to the maximum allowed as the cost table defines.
void SetItemPropertyUsesPerDayRemaining(object oItem, itemproperty ip, int nUsesPerDay);

// Queue an action to use an active item property.
// * oItem - item that has the item property to use
// * ip - item property to use
// * object oTarget - target
// * nSubPropertyIndex - specify if your itemproperty has subproperties (such as subradial spells)
// * bDecrementCharges - decrement charges if item property is limited
void ActionUseItemOnObject(object oItem, itemproperty ip, object oTarget, int nSubPropertyIndex = 0, int bDecrementCharges = TRUE);

// Queue an action to use an active item property.
// * oItem - item that has the item property to use
// * ip - item property to use
// * location lTarget - target location (must be in the same area as item possessor)
// * nSubPropertyIndex - specify if your itemproperty has subproperties (such as subradial spells)
// * bDecrementCharges - decrement charges if item property is limited
void ActionUseItemAtLocation(object oItem, itemproperty ip, location lTarget, int nSubPropertyIndex = 0, int bDecrementCharges = TRUE);

Override hilite colour on objects

You can now override the mouse-over (“hilite”) colour on objects.
Code: [Select]
// Sets oObject's hilite color to nColor
// The nColor format is 0xRRGGBB; -1 clears the color override.
void SetObjectHiliteColor(object oObject, int nColor = -1);

Custom mouse cursors

You can now override the mouse cursor a ingame object presents. Additionally, mouse cursors have been unhardcoded, so you can add more via custom content (see MOUSECURSOR_CUSTOM_00).
// Sets the cursor (MOUSECURSOR_*) to use when hovering over oObject
void SetObjectMouseCursor(object oObject, int nCursor = -1);

ProgFX have been unhardcoded

A new 2da, progfx.2da has been added, that links visualeffect.2da columns. This allows for adding additional custom skin effects, beams, MIRVs, etc.
Texture replacements

You can now replace individual textures on objects at runtime
Code: [Select]
// Replace's oObject's texture sOld with sNew.
// Specifying sNew = "" will restore the original texture.
// If sNew cannot be found, the original texture will be restored.
// sNew must refer to a simple texture, not PLT
void ReplaceObjectTexture(object oObject, string sOld, string sNew = "");

Walk animations have been unhardcoded

You can add new walk anims by naming them `walk_002`, `walk_003`, etc. (001 is walkdead, 002 is hardcoded to walkinj)
Scripted wind management

The game now allows much finer-grained scripted control over the wind data.
Code: [Select]
// Sets the detailed wind data for oArea
// The predefined values in the toolset are:
// NONE: vDirection=(1.0, 1.0, 0.0), fMagnitude=0.0, fYaw=0.0, fPitch=0.0
// LIGHT: vDirection=(1.0, 1.0, 0.0), fMagnitude=1.0, fYaw=100.0, fPitch=3.0
// HEAVY: vDirection=(1.0, 1.0, 0.0), fMagnitude=2.0, fYaw=150.0, fPitch=5.0
void SetAreaWind(object oArea, vector vDirection, float fMagnitude, float fYaw, float fPitch);

Visual effects can now use PLT textures

Visual effects can now refer to PLT textures. The layer colours/indices are inherited from the object the effect is applied to (such as creatures).
Visual effects can now be scaled, rotated, and translated

When applying a visual effect, you can now scale, rotate and translate it, in relation to the parented object. The script commands have been extended to support this:
effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0]);

effect EffectBeam(int nBeamVisualEffect, object oEffector, int nBodyPart, int bMissEffect=FALSE, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0]);

Modules and HAKs can now contain more than 16k items

The game can now load more than 16356 resources from ERF containers (modules and haks).
New Configuration UI

The game options UI has been replaced with a new implementation that now allows access to all of the new configuration options. The “Debug UI” configuration tab has been removed as a consequence.

This UI is still work in progress, but it is useful enough to include now in the development patch.
Debug UI has been revamped, including a new NWScript evaluation helper

The debug UI has been rewritten to be leaner and expose more useful features. You can now toggle DebugMode, renderaab, rendertilepathnodes via checkboxes.

A new widget has been added that allows evaluating NWScript snippets on the running server (assuming you have DM privileges, or are in DebugMode).
Local variable access has been sped up significantly

Local variable access on objects is now O(n) in the worst case, but usually significantly faster than that. This is especially noticeable when you have thousands of variables on a single object. Previously, this could take up to 500ms to read a single variable; now access is below 10ms in these scenarios.

Art Changes

•   TDT01_G02_01,TDT01_G02_01,TDT01_G08_01: Repaired walkmeshes, #46
•   Repaired DAG01.set file to NOT offer unsupported height transitions #70
•   Eliminated a SQRT Domain error in a couple Treehouse Side Log Tiles (TTF02_B01_02,TTF02_B01_12) #76
•   TTF01_G04_05: Fixed bad texture assignment, tweaked alpha for better blending #77
•   TTF01_C01_02: Replaced wintery leaf texture from Winter tileset w/ proper Forest texture #77
•   TTF01_G01_01: Fixed a typo in TTF01.set which kept minimap from showing up #77
•   TCN01_Water01.tga: Increased size to 256x256, cleaned up tiling seams
•   TRM02: Recompiled a few tiles throwing SQRT domain errors #72
•   TDE01_H07_01: Fixed a bad texture assignment and UV's, added lava spouts to either side of bridge (w/ animloop01 toggle) #122
•   TDE01_A08_01: Adjusted lava mesh 0.382cm to eliminate a visible seam with neighboring tiles #117
•   PTM_CardTable1: Fixed Bounding Box #109
•   TDS01_D07_01: Fixed a SQRT domain error
•   Reworked a few creature blueprints to more closely match 3E #95
•   Fixed bad collisions in tn_sdoor_04 and tn_sdoor_16
•   Repaired city exterior tcn_a11_01
•   Compiled 165 more models in tno01
•   TNO01_V02_03: Fixed splash VFX on waterfall (back onto its own animloop, waterfall animation still intermittent)
•   TWC03_A04_07: Fixed broken/blinking chandelier candle animations
•   Repaired bounding box on Candlestick torch; changed light to yellow 5m; repaired mesh and fixed smoke placement #95
•   Removed erroneous palette entry from Birds category #107
•   Compiled ~200 models (mostly for DODEE)

Miscellaneous Script Commands

The StringToObject() script command can be used as the reverse of ObjectToString().
// Convert sHex, a string containing a hexadecimal object id,
// into a object reference. Counterpart to StringToObject().
object StringToObject(string sHex);

Miscellaneous Improvements

•   Texture pack support has been removed. All texture pack content has been merged into nwn_base.key.
•   GUI: The bright ambient light has been disabled in UI scenes. This results in a more natural look in chargen and the compass.
•   Nui: Windows now store position, size and collapse state in tml
•   Nui: Modal windows now autosize to parent
•   nwsync: increased check batch size for verifying existing data, dramatically speeding up process
•   nwsync: increased local recv buffer size, speeding up transfers on low framerates
•   WriteTimestampedLogEntry() now gets sent to all players as a console/debug message, if the server is in DebugMode. This is mostly useful for singleplayer module testing, when the module author uses the game log for debugging.
•   ExoConfig: Trap and highlight colors are now stored as hex codes.
•   DDS textures now support BC4 and BC5 encodings, to provide higher quality DDS options for greyscale and two-channel textures, such as height or specularity.
•   The data build now includes a 2da.zip, containing all 2da files from the build.

Fixes

•   Fixed large creatures intruding into your personal space. #124
•   Config: The experimental “Aggressive Texture Caching” option has been removed (it is now on for everyone).
•   Sending WriteTimestampedLogEntry messages to clients in DebugMode can now be toggled off with a setting.
•   NUI expand/minimize chevrons have been inverted.
•   Chat Panes: When in split mode, second chat pane now shows CONSOLE-level messages (debug messages, etc) #18
•   Character generation: Spell school strrefs are now actually read from the 2da
•   VM: Script situations now always keep a hold of the actual bytecode they are spawned from. This fixes the game doing funny things when the underlying compiled script file is swapped out. This also fixes code closures from within ExecuteScriptChunk (and the Debug UI).
•   Store and load TemplateResRef from gff for door object types (so that GetResRef() does not return “”). #100
•   Dead players now call CNWSArea::DecrementPlayersInArea() #105
•   VM::AdjustAlignment(): fixed ALIGNMENT_ALL echoing wrong axis labels #55
•   VM::AdjustAlignment(): Game will now render the actual alignment shift that has happened, instead of the requested one: AdjustAlignment(-100) when at 50 will now say "You have shifted by -35" (to get you to 15, where the good/evil notchiness is) instead of "You have shifted by -100" but still putting you to 15.
•   VM::AdjustAlignment(): Game will now not render any feedback if no alignment shift occurred (previously, it would render "Your alignment has shifted by -100" if you requested -100, even if you were already at rock bottom).
•   Object hilite state is now properly persisted to GFF.
•   Fixed the game crashing or reading invalid memory when quickslotting spells as a DM.
•   Fixed a crash happening with drag & drop of inventory icons.
•   Area transition screens on the client no longer partially render a grey overlay.
•   Drag selection rendering in DM client was fixed.
•   The nwhak.exe binary has moved into bin/, out of util/.
•   Fixed heap overflow in ExoString::Insert (VM::Insert, dm_dumplocals)
•   DestroyArea(): no longer skip the last object; this used to leave things in object space attached to nothing
•   Movies: search path now prefers userdirectory over install, allowing users to override base movies.
•   GUI: Nuklear-based UI now emits sounds when clicking buttons. #5
•   GUI: The button “Remove Server from Favorites” in MP ui has been made to work once again.
•   GPU vendor optimisations are now detected automatically; the config key optimize-buffer-updates has been removed.
•   ambientmusic.2da: Fixed ids #80
•   Fixed a off-by-one issue when adding journal entries.
•   VM: A memleak in PostString has been fixed.

Toolset

•   Toolset: Fixed bearing not being saved for placeables and doors
•   Toolset: texture pack selector was removed.
•   Toolset: Removed errant “OK” label in Area Properties #59
•   Toolset: Portrait backgrounds in object properties have been fixed.
•   Toolset: Update static lighting after changing tile light properties.
•   Toolset: The Bearing float should no longer flap sign when saving out the area gff.
•   Toolset: Improved script editor responsiveness as well as save/load module performance.
•   Toolset: Area view settings are now applied to all open tabs.
•   Toolset: A menu option to toggle AABB rendering was added.
•   Toolset: No longer select last-opened module in save UI.
•   Toolset: The UI for caching scripts has been removed, as the underlying system has been disabled for a while. It was pointless and counterproductive from a performance standpoint.
•   Toolset is now linked to 32bit oal-soft. Hopefully no more sound woes.

Campaigns and Premiums

•   Campaign SoU: Fixed the Baby Achievement
•   TotM: Small fix for floating placeables in Elmwood




Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 09, 2020, 11:41:44 PM
Development Build 8193.15
Wed, 9 September 2020

(https://steamcdn-a.akamaihd.net/steam/apps/704450/ss_6d71af16466a9f725a969044dcae96ea76939f11.1920x1080.jpg?t=1588367124)

Hello, dear community!

This is development build 8193.15, which stabilises the previous .14 release. This is in all likelihood the last release before a stable patch, right around the corner.


Tileset Facelifts
•   Added Forest and Rural Winter Facelift tilesets.
•   Added configuration option to transparently use facelift variants of Forest and Rural Winter instead of default tilesets for official Campaigns and DLC. (Custom content wanting to use these tilesets for existing areas will have to change the tileset in the .are file reference manually; the tilesets are hotswappable after all. Or build new areas with the Facelift tilesets.)

Features
•   Config UI: Added graphical presets: Low, Good, Best.
•   Added a configuration setting: General Shader/Lighting Quality.
•   Polished metal (armour, etc) to now be a bit more shiny again.
•   Renderer: Water random noise is now a noise texture, same as keyholing. This improves water performance significantly.
•   Shaders: Defines BUILD_VERSION and BUILD_REVISION expose build info.

Fixes
•   Fixed dying creatures sometimes spawning a random VFX.
•   Renderer: Fixed grass occasionally overlapping, resulting in flickering.
•   Renderer: Removed artifacts appearing when shadow optimization was enabled.
•   Renderer: Fixed dynamic lights taking too long to fade in (FPS-dependent issue).
•   Renderer: Fixed some grayscale textures erroneously showing up with a tint.
•   Renderer: Fixed needlessly recalculating static lights in full dynamic light mode; this used to impact performance heavily with some specific static tile lights.
•   Renderer: Minor tweaks to the appearance of the water shader, as well as some lighting parameters.
•   Fixed wind direction variation being offset by 120 degrees at peak.
•   [Linux] nwserver: no longer include libsndio in dependency list.
•   Config UI: Slider values now editable via keyboard input (Just click the text label).
•   Config UI: Fix floating point values incorrectly showing as modified when at default value.
•   PlayerDM mode: Player DMs no longer auto-explore areas fully on enter as a native DM would.
•   SQLite: No longer emit “error: schema has changed” non-errors when related to migrations.
•   VM: DestroyArea will now also fail with return code -2 if players are currently on a load screen transitioning into the area.

Toolset
•   Toolset: Fixed area shadows rendering incorrectly/without fog applied.
•   Toolset: Fixed a crash in Area Statistics. #139

Art
•   TTF02 & TTS02: Baked a new set of minimaps, to add missing waters and roads
•   TNO01: Fixed 3x1 and 4x1 Ship (Grass Set) for floating meshes (X-form)
•   TTS02: Replaced Road to Bridge texture, fixed walkmesh
•   Placeable Fog Emitters: Added missing mf_smoke texture
•   Daggerford & Tyrants of the Moonsea Placeables:
•   Reworked placeable Use nodes on card table, and a couple other props (#110)
•   Shadow and Mesh fixes
•   Bounding Box fixes
•   PX2_G02 (Dragon Statue): Fixed flipped collision
•   Emerald Golem: Set the skinmesh so golems body would also be translucent
•   TNO01: Fixed tiles from Grass group that were using tno01_dirt03 City ground (#152)
•   PLC_F06 (Catapult): Fixed shadows on multiple meshes, welded parts and gave it a proper rope texture
•   TTS02: Several Shadow Fixes, Mesh Fixes
•   TNO01: Restored 3 thatch houses (Grass section) that never made palette. New doors added to doortypes.2da (tn_sdoor_03, tn_sdoor_25)
•   TDM01: Mining Platform 2 (2x2) Fixed an animloop that wouldn't shut off, and added one for the molten forge tile
•   TWC03_A02_07: Fixed a broken fireplace animation
•   TTS02 & TTF02: Shadow fixes, new & fixed animations (w/ new animloop options), a-nodes for transparency (water etc. blends properly)
•   TSS13 (Seaships): Fixed several boats that were causing a toolset crash #142

Weather Types Unhardcoded

Added new 2da: weatherypes.2da; which - unsurprising, considering the name - unhardcodes weather types.


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 16, 2020, 12:52:56 AM
Stable Patch 81.8193.15
Tue, 15 September 2020

Greetings, friends!

Today we release Patch 8193.15 for Neverwinter Nights: Enhanced Edition!


This update is big — the biggest the game has seen since its original release in 2018. We’re introducing a new lighting engine to enhance the graphics, dozens of toolset updates, plus plenty more features and fixes. Read on for all the details!

As always, this patch is network-compatible within the current major version (8193), including the old stable release .13; so you can play on servers with it that have not yet upgraded (though the majority of the new features will not work). To get the full experience, you will have to update both server and clients to this release. Singleplayer modules made with this new patch 1.81 cannot be played on older versions, however.

New Lighting Engine
This patch includes a new enhanced lighting engine, that is governed by the same principles as you would see in other modern games that aim for realistic lighting. The aim is both to allow much higher quality future content, but also to enhance the visual quality of existing content.

These are the main elements of this new lighting engine:
•   Physically based rendering (PBR), with emulation of specular reflection, surface “roughness”, Fresnel-effects and gamma correction. All in all, this gives a more realistic and “natural” look.
•   Tone mapping that prevents color distortion of bright lights and enables overbright.
•   Per-pixel lighting rather than per-vertex of the old setup, yielding much more precise light illumination levels relative to distance.
•   Full dynamic lighting, supporting up to 32 dynamic lights (previously NWN effectively only supported 6).


Since a picture says more than a thousand words, please visit this link to see some comparison shots:

https://nwn.beamdog.net/web/8193.14-comparison-shots/

Slide the blue dot in the middle of the images to compare before/after. The left side is the old/current render; the right side is the new lighting engine.

The lighting engine is by default on, but optional, as it is heavier on the GPU than the previous lighting model (especially if you run with 32 lights, but a minimum of 16 lights is recommended). You can turn it off in the Options menu. You can also tweak various parameters of the new lighting engine, such as attenuation and falloff. We would suggest leaving them at the defaults though, to ensure uniform content presentation.

Note that since the new lighting engine constitutes a significantly different way of computing light interaction and behavior, it is inevitable that overall illumination levels in some areas will change, which can result in certain areas becoming too bright or too dark. We have been carefully tuning the various parameters to minimize this effect, but ultimately, moving toward more realistic and sophisticated lighting will always come with this trade-off. If you find that the game has become too dark or too bright, we recommend that you adjust the brightness level by using the gamma slider accessible in the graphics options.

New Water Rendering
Water presentation has also been improved significantly. It now renders full dynamic light reflections, including sun and moon. It also shows wave displacement based on area wide and local wind sources (such as explosions) much more realistically than the previous water did.

As with the other lighting changes, some areas may appear differently, and builders using tile lights will now see them in the reflections, and may wish to edit an area’s lights so that both the area and the reflections appear as desired.

There are configuration options in the UI to turn this feature off.

Again, please visit this link to see the improvements to water in action:

https://nwn.beamdog.net/web/8193.14-comparison-shots/

Grass Rendering
Grass is now rendered sorted by distance, fixing transparency issues and making it look denser and more natural.

The comparison link posted above has visual examples of this.

Grass rendering also has been heavily optimised and should no longer pose a performance consideration, even in scenes with lots of it.

Other miscellaneous graphical improvements
Models spawned by visual effects now have fog properly applied and are not self-illuminated with a bright light anymore. This makes content spawned as visual effect render identical to other in game content, making things such as VFX spawned tiles and character equipment appear more natural.

Content import from Ossian premium modules
This patch includes all content from Darkness over Daggerford and Tyrants of the Moonsea.
•   Tileset facelifts for the Forest and Rural Winter tileset, crafted by Zwerkules
•   Medieval City, Medieval Rural, and Mountain Snow sets, also by Zwerkules
•   Lizardfolk Interior microset
•   Seaships microset
•   Additions to several tilesets:
•   Several new docking ships groups, and a thatched-roof building, in Castle Exterior, Rural
•   New doorway tiles for Crypts and City Interior
•   476 assorted placeables
•   13 creature models
•   3 shields, the Wand of Orcus, and a brass candlestick 'torch'
•   A complete "time of day" skybox texture set for the “Icy, Clear sky” skybox
•   42 ambient Music tracks
•   54 load screens
•   25 assorted ambient sounds
•   5 sound sets (for specific new creatures)
•   Palettes and blueprints for all imported Ossian content: Items, Creatures, and Placeables


For the tileset facelifts, there is a configuration toggle (on by default) to use them in the main campaigns and all official DLC. Custom content modules can use them as new tilesets. (As the tile layout is compatible, you could also just open the .are file in GFFEditor and replace the tileset reference.)

Player Dungeon Master Mode
Players can now acquire and relinquish DM privileges during normal play, assuming they know the DM password. A player DM will have all of the normal dungeon master ruleset amenities: Their player character will turn invincible; they will be able to cast any spell they wish, and their skill checks will always be made against max.

However, player DMs will not gain features specific to DM characters: Their feat list will not include all the DM abilities, and they will not walk any faster. They will also not join the DM party/faction, so they will not be able to see all player parties.

Dedicated servers can turn this off in configuration.

To enter player DM mode, you can use the console commands (`dm_login <pw>` and `dm_logout`), or you can use the debug UI.

There is a new script command that can be used to distinguish between player DMs and “real” DMs:
Code: [Select]
// Returns TRUE if the given player-controlled creature has DM privileges
// gained through a player login (as opposed to the DM client).
// Note: GetIsDM() also returns TRUE for player creature DMs.
int GetIsPlayerDM(object oCreature);


As a consequence, GetIsDM() will now return TRUE for player DMs. Previously, you could rely on this being static per-connection, as true DMs could not drop their privileges.

Pathfinding improvements
Pathfinding quality in placeable and creature-heavy areas has been significantly improved, beyond the optimisations already done in 8193.13.

Your character should no longer get stuck on random placeables, or not find their way around other creatures.
Conversation script parameters

You can now specify script parameters in the toolset conversation editor, and these parameters can be queried via new the new script command:
Code: [Select]
// Returns the script parameter value for a given parameter name.
// Script parameters can be set for conversation scripts in the toolset's
// Conversation Editor, or for any script with SetScriptParam().
// * Will return "" if a parameter with the given name does not exist.
string GetScriptParam(string sParamName);


There is also a script command to set parameters when invoking other scripts via ExecuteScript.
Code: [Select]
// Set a script parameter value for the next script to be run.
// Call this function to set parameters right before calling ExecuteScript().
void SetScriptParam(string sParamName, string sParamValue);

Scripted access to SQLite databases
Full access to the sqlite API has been added.

You can access the following databases:
•   Campaign: Databases spanning modules and savegames, living in database/.
•   Module: A database attached to the running module, persisted to savegames.
•   Player: Each player character has a database attached that gets saved to the character .bic file when saving to a vault (local/server), or exporting the character in singleplayer. It also gets saved to savegames.


To get you started, please check INSTALLDIR/lang/en/docs/SQLite.txt for a short introduction and further documentation on the newly-added script commands.

Please note: This is an advanced feature, and requires a solid understanding of SQL to make robust and effective use of.
Scripted mouse targeting mode
You can now trigger cursor targeting mode from scripting:

Code: [Select]
// Makes oPC enter a targeting mode, letting them select an object as a target
// If a PC selects a target, it will trigger the module OnPlayerTarget event.
void EnterTargetingMode(object oPC, int nValidObjectTypes = OBJECT_TYPE_ALL, int nMouseCursorId = MOUSECURSOR_MAGIC);

// Gets the target object in the module OnPlayerTarget event.
// Returns the area object when the target is the ground.
object GetTargetingModeSelectedObject();

// Gets the target position in the module OnPlayerTarget event.
vector GetTargetingModeSelectedPosition();

// Gets the player object that triggered the OnPlayerTarget event.
object GetLastPlayerToSelectTarget();

A new module event has been added to support this.

Caveat: The toolset cannot currently configure this module event. You need to set it via SetEventScript() at module load.

New script actions related to item property usage

These script commands allow NWScript to properly trigger item property usage, circumventing the Talent system.
Code: [Select]
// Returns the number of uses per day remaining of the given item and item property.
// * Will return 0 if the given item does not have the requested item property,
// or the item property is not uses/day.
int GetItemPropertyUsesPerDayRemaining(object oItem, itemproperty ip);

// Sets the number of uses per day remaining of the given item and item property.
// * Will do nothing if the given item and item property is not uses/day.
// * Will constrain nUsesPerDay to the maximum allowed as the cost table defines.
void SetItemPropertyUsesPerDayRemaining(object oItem, itemproperty ip, int nUsesPerDay);

// Queue an action to use an active item property.
// * oItem - item that has the item property to use
// * ip - item property to use
// * object oTarget - target
// * nSubPropertyIndex - specify if your itemproperty has subproperties (such as subradial spells)
// * bDecrementCharges - decrement charges if item property is limited
void ActionUseItemOnObject(object oItem, itemproperty ip, object oTarget, int nSubPropertyIndex = 0, int bDecrementCharges = TRUE);

// Queue an action to use an active item property.
// * oItem - item that has the item property to use
// * ip - item property to use
// * location lTarget - target location (must be in the same area as item possessor)
// * nSubPropertyIndex - specify if your itemproperty has subproperties (such as subradial spells)
// * bDecrementCharges - decrement charges if item property is limited
void ActionUseItemAtLocation(object oItem, itemproperty ip, location lTarget, int nSubPropertyIndex = 0, int bDecrementCharges = TRUE);

Override hilite colour on objects
You can now override the mouse-over (“hilite”) colour on objects.
Code: [Select]
// Sets oObject's hilite color to nColor
// The nColor format is 0xRRGGBB; -1 clears the color override.
void SetObjectHiliteColor(object oObject, int nColor = -1);

Custom mouse cursors
You can now override the mouse cursor a ingame object presents. Additionally, mouse cursors have been unhardcoded, so you can add more via custom content (see MOUSECURSOR_CUSTOM_00).
Code: [Select]
// Sets the cursor (MOUSECURSOR_*) to use when hovering over oObject
void SetObjectMouseCursor(object oObject, int nCursor = -1);

ProgFX have been unhardcoded
A new 2da, progfx.2da has been added, that links visualeffect.2da columns. This allows for adding additional custom skin effects, beams, MIRVs, etc.

Texture replacements
You can now replace individual textures on objects at runtime.
Code: [Select]
// Replace's oObject's texture sOld with sNew.
// Specifying sNew = "" will restore the original texture.
// If sNew cannot be found, the original texture will be restored.
// sNew must refer to a simple texture, not PLT
void ReplaceObjectTexture(object oObject, string sOld, string sNew = "");

Walk animations have been unhardcoded
You can add new walk anims by naming them `walk_002`, `walk_003`, etc. (001 is walkdead, 002 is hardcoded to walkinj)

Weather Types Unhardcoded
Added new 2da: weatherypes.2da; which - unsurprising, considering the name - unhardcodes weather types.

Scripted wind management
The game now allows much finer-grained scripted control over the wind data.
Code: [Select]
// Sets the detailed wind data for oArea
// The predefined values in the toolset are:
// NONE: vDirection=(1.0, 1.0, 0.0), fMagnitude=0.0, fYaw=0.0, fPitch=0.0
// LIGHT: vDirection=(1.0, 1.0, 0.0), fMagnitude=1.0, fYaw=100.0, fPitch=3.0
// HEAVY: vDirection=(1.0, 1.0, 0.0), fMagnitude=2.0, fYaw=150.0, fPitch=5.0
void SetAreaWind(object oArea, vector vDirection, float fMagnitude, float fYaw, float fPitch);

Visual effects can now use PLT textures
Visual effects can now refer to PLT textures. The layer colours/indices are inherited from the object the effect is applied to (such as creatures).

Visual effects can now be scaled, rotated, and translated
When applying a visual effect, you can now scale, rotate and translate it, in relation to the parented object. The script commands have been extended to support this:
Code: [Select]
effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0]);

effect EffectBeam(int nBeamVisualEffect, object oEffector, int nBodyPart, int bMissEffect=FALSE, float fScale=1.0f, vector vTranslate=[0.0,0.0,0.0], vector vRotate=[0.0,0.0,0.0]);

Modules and HAKs can now contain more than 16k items
The game can now load more than 16356 resources from ERF containers (modules and haks).

New Configuration UI
The game options UI has been replaced with a new implementation that now allows access to all of the new configuration options. The “Debug UI” configuration tab has been removed as a consequence.

This UI is still work in progress, but it is useful enough to include now.

Debug UI has been revamped, including a new NWScript evaluation helper
The debug UI has been rewritten to be leaner and expose more useful features. You can now toggle DebugMode, renderaab, rendertilepathnodes via checkboxes.

A new widget has been added that allows evaluating NWScript snippets on the running server (assuming you have DM privileges, or are in DebugMode).

Local variable access has been sped up significantly

Local variable access on objects is now O(n) in the worst case, but usually significantly faster than that. This is especially noticeable when you have thousands of variables on a single object. Previously, this could take up to 500ms to read a single variable; now access is below 10ms in these scenarios.

Art Changes
•   TDT01_G02_01,TDT01_G02_01,TDT01_G08_01: Repaired walkmeshes, #46
•   Repaired DAG01.set file to NOT offer unsupported height transitions #70
•   Eliminated a SQRT Domain error in a couple Treehouse Side Log Tiles (TTF02_B01_02,TTF02_B01_12) #76
•   TTF01_G04_05: Fixed bad texture assignment, tweaked alpha for better blending #77
•   TTF01_C01_02: Replaced wintery leaf texture from Winter tileset w/ proper Forest texture #77
•   TTF01_G01_01: Fixed a typo in TTF01.set which kept minimap from showing up #77
•   TCN01_Water01.tga: Increased size to 256x256, cleaned up tiling seams
•   TRM02: Recompiled a few tiles throwing SQRT domain errors #72
•   TDE01_H07_01: Fixed a bad texture assignment and UV's, added lava spouts to either side of bridge (w/ animloop01 toggle) #122
•   TDE01_A08_01: Adjusted lava mesh 0.382cm to eliminate a visible seam with neighboring tiles #117
•   PTM_CardTable1: Fixed Bounding Box #109
•   TDS01_D07_01: Fixed a SQRT domain error
•   Reworked a few creature blueprints to more closely match 3E #95
•   Fixed bad collisions in tn_sdoor_04 and tn_sdoor_16
•   Repaired city exterior tcn_a11_01
•   Compiled 165 more models in tno01
•   TNO01_V02_03: Fixed splash VFX on waterfall (back onto its own animloop, waterfall animation still intermittent)
•   TWC03_A04_07: Fixed broken/blinking chandelier candle animations
•   Repaired bounding box on Candlestick torch; changed light to yellow 5m; repaired mesh and fixed smoke placement #95
•   Removed erroneous palette entry from Birds category #107
•   Compiled ~200 models (mostly for DODEE)
•   TTF02 & TTS02: Baked a new set of minimaps, to add missing waters and roads
•   TNO01: Fixed 3x1 and 4x1 Ship (Grass Set) for floating meshes (X-form)
•   TTS02: Replaced Road to Bridge texture, fixed walkmesh
•   Placeable Fog Emitters: Added missing mf_smoke texture
•   Daggerford & Tyrants of the Moonsea Placeables:
•   Reworked placeable Use nodes on card table, and a couple other placeables (#110)
•   Shadow and Mesh fixes
•   Bounding Box fixes
•   PX2_G02 (Dragon Statue): Fixed flipped collision
•   Emerald Golem: Set the skinmesh so golems body would also be translucent
•   TNO01: Fixed tiles from Grass group that were using tno01_dirt03 City ground (#152)
•   PLC_F06 (Catapult): Fixed shadows on multiple meshes, welded parts and gave it a proper rope texture
•   TTS02: Several Shadow Fixes, Mesh Fixes
•   TNO01: Restored 3 thatch houses (Grass section) that never made palette. New doors added to doortypes.2da (tn_sdoor_03, tn_sdoor_25)
•   TDM01: Mining Platform 2 (2x2) Fixed an animloop that wouldn't shut off, and added one for the molten forge tile
•   TWC03_A02_07: Fixed a broken fireplace animation
•   TTS02 & TTF02: Shadow fixes, new & fixed animations (w/ new animloop options), a-nodes for transparency (water etc. blends properly)
•   TSS13 (Seaships): Fixed several boats that were causing a toolset crash #142

Miscellaneous Script Commands
The StringToObject() script command can be used as the reverse of ObjectToString().
// Convert sHex, a string containing a hexadecimal object id,
// into a object reference. Counterpart to ObjectToString().
object StringToObject(string sHex);

Miscellaneous Improvements
•   Texture pack support has been removed. All texture pack content has been merged into nwn_base.key.
•   GUI: The bright ambient light has been disabled in UI scenes. This results in a more natural look in chargen and the compass.
•   Nui: Windows now store position, size and collapse state in tml
•   Nui: Modal windows now autosize to parent
•   nwsync: increased check batch size for verifying existing data, dramatically speeding up process
•   nwsync: increased local recv buffer size, speeding up transfers on low framerates
•   WriteTimestampedLogEntry() now gets sent to all players as a console/debug message, if the server is in DebugMode. This is mostly useful for singleplayer module testing, when the module author uses the game log for debugging.
•   ExoConfig: Trap and highlight colors are now stored as hex codes.
•   DDS textures now support BC4 and BC5 encodings, to provide higher quality DDS options for greyscale and two-channel textures, such as height or specularity.
•   Config UI: Added graphical presets: Low, Good, Best.
•   Config UI: Added a configuration setting: General Shader/Lighting Quality.
•   Shaders: Defines BUILD_VERSION and BUILD_REVISION expose build info.

Fixes
•   Renderer: Fixed needlessly recalculating static lights in full dynamic light mode; this used to impact performance heavily with some specific static tile lights.
•   Fixed grass occasionally overlapping, resulting in flickering.
•   Fixed wind direction variation being offset by 120 degrees at peak.
•   SQLite: No longer emit “error: schema has changed” non-errors when related to migrations.
•   VM::DestroyArea() will now also fail with return code -2 if players are currently on a load screen transitioning into the area.
•   Fixed large creatures intruding into your personal space. #124
•   Config: The experimental “Aggressive Texture Caching” option has been removed (it is now on for everyone).
•   Sending WriteTimestampedLogEntry messages to clients in DebugMode can now be toggled off with a setting.
•   NUI expand/minimize chevrons have been inverted.
•   Chat Panes: When in split mode, second chat pane now shows CONSOLE-level messages (debug messages, etc) #18
•   Character generation: Spell school strrefs are now actually read from the 2da
•   VM: Script situations now always keep a hold of the actual bytecode they are spawned from. This fixes the game doing funny things when the underlying compiled script file is swapped out. This also fixes code closures from within ExecuteScriptChunk (and the Debug UI).
•   Store and load TemplateResRef from gff for door object types (so that GetResRef() does not return “”). #100
•   Dead players now call CNWSArea::DecrementPlayersInArea() #105
•   VM::AdjustAlignment(): fixed ALIGNMENT_ALL echoing wrong axis labels #55
•   VM::AdjustAlignment(): Game will now render the actual alignment shift that has happened, instead of the requested one: AdjustAlignment(-100) when at 50 will now say "You have shifted by -35" (to get you to 15, where the good/evil notchiness is) instead of "You have shifted by -100" but still putting you to 15.
•   VM::AdjustAlignment(): Game will now not render any feedback if no alignment shift occurred (previously, it would render "Your alignment has shifted by -100" if you requested -100, even if you were already at rock bottom).
•   Object hilite state is now properly persisted to GFF.
•   Fixed the game crashing or reading invalid memory when quickslotting spells as a DM.
•   Fixed a crash happening with drag & drop of inventory icons.
•   Area transition screens on the client no longer partially render a grey overlay.
•   Drag selection rendering in DM client was fixed.
•   The nwhak.exe binary has moved into bin/, out of util/.
•   Fixed heap overflow in ExoString::Insert (VM::Insert, dm_dumplocals)
•   DestroyArea(): no longer skip the last object; this used to leave things in object space attached to nothing
•   Movies: search path now prefers userdirectory over install, allowing users to override base movies.
•   GUI: Nuklear-based UI now emits sounds when clicking buttons. #5
•   GUI: The button “Remove Server from Favorites” in MP ui has been made to work once again.
•   GPU vendor optimisations are now detected automatically; the config key optimize-buffer-updates has been removed.
•   ambientmusic.2da: Fixed ids #80
•   VM: A memleak in PostString has been fixed.

Toolset
•   Toolset: Fixed bearing not being saved for placeables and doors
•   Toolset: texture pack selector was removed.
•   Toolset: Removed errant “OK” label in Area Properties #59
•   Toolset: Portrait backgrounds in object properties have been fixed.
•   Toolset: Update static lighting after changing tile light properties.
•   Toolset: The Bearing float should no longer flap sign when saving out the area gff.
•   Toolset: Improved script editor responsiveness as well as save/load module performance.
•   Toolset: Area view settings are now applied to all open tabs.
•   Toolset: A menu option to toggle AABB rendering was added.
•   Toolset: No longer select last-opened module in save UI.
•   Toolset: The UI for caching scripts has been removed, as the underlying system has been disabled for a while. It was pointless and counterproductive from a performance standpoint.
•   Toolset is now linked to 32bit oal-soft. Hopefully no more sound woes.

Campaigns and Premiums
•   Campaign SoU: Fixed the Baby Achievement
•   TotM: Small fix for floating placeables in Elmwood


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 17, 2020, 02:54:55 AM
Stable Patch 81.8193.16
Wed, 16 September 2020

Hello!

This is a hotfix patch to 8193.15, which we released yesterday.


The changes in this patch are clientside only. You do not need to upgrade your dedicated server if it is already on .15 for full feature support.

Fixes

•   Fixed the game not starting when a language override was selected
•   The music tracks added in the DOD/TOTM content release now show up properly in the toolset (instead of "Bad Strref")
•   The game no longer tries to read the N: drive when trying to load a non-existent supermodel
•   nwscript.nss: Fixed error in description of StringToObject


Known Issues

This is a (incomplete) list of known issues on this build. Items on this list do not need to be reported!

•   Ability score bonuses from levelstat (class progression) do not contribute toward feat requirements when the score increase is received on the same levelup.
•   Non-functional anti-aliasing and anisotropic filtering settings have been removed pending a potential future reimplementation. We suggest you use the driver control panel to force it meanwhile, if so desired.
•   UI: Nuklear-based UI (NWSync, Configuration) does not observe ui scaling
•   UI: Nuklear-based UI (NWSync, Configuration) is not skinned as beautiful as can be
•   UI: Nuklear-based UI (NWSync, Configuration) does not close with the Esc key
•   UI: Nuklear-based UI (NWSync, Configuration) is only partially translated or labels are less descriptive than they could be
•   Water renderer does not use the area environment map, resulting in unseemly seams
•   VM: DestroyArea() sometimes erroneously removes the wrong minimap data on clients, resulting in black/unexplored areas.
•   Hosting a module from within the DM client does not update/show the creator palettes correctly
•   Items dropped on the ground appear to be floating slightly. This is a clientside rendering issue and does not require server/module adjustments by you!
•   Items dropped on tables fall through (mesh hit check). This is also clientside only and does not require you to fix things in the module/in scripting!
•   There is a memleak on the main menu. It does not manifest in game.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on November 06, 2020, 02:06:29 AM
Development Build 8193.18
Thu, 5 November 2020

Hello friends!

We're shipping Dev Patch 8193.18 today. This is stabilisation and bugfixes, with just a tiny selection of existing feature improvements.


Changes
•   VM: EnterTargetingMode() now also triggers when the user cancels out, with the target area or object returned as INVALID_OBJECT.
•   Pathfinding: Creature bumping should now pick a more logical displacement direction for the bump.
•   Pathfinding: Further improvements to AI pathing.
•   Refactored Hardness to no longer be an effect; gain ~5% cpu time improvement on heavy server loads.
•   VM: Material filenames and params now allow underscores.
•   nwscript.nss: Added missing tileset resref constants.
•   Multiplayer browser: Bumped module description size to 1KB, to avoid needless cutoff.
•   Linux binaries are now built against Debian Stretch (9), fixing requirements to Debian 9, Ubuntu 18.04 LTS, or newer. This should take care of the glibc issues some folks were seeing, as well as the stray libsndio linkage.
•   Config: The default value for 2D/3D bias is now 1.0. This should fix sound effect quietness. You need to reset it manually in Options if you want to try this.

Fixes
•   Renderer: Fixed weather not correctly cleaning up after lightning events, sometimes resulting in heavy FPS drops.
•   Renderer: Fixed skinmeshes (cloaks, robes) occasionally being warped or dislocated when animating.
•   Renderer: Normal maps are now read as two-channel textures (three are still supported, but this was needed for BC5).
•   Renderer: Water reflections now ignore subsurface alpha.
•   Renderer: env map tex coords are now always calculated per-fragment in HQ mode.
•   Renderer: Specular lighting now ignores material transparency.
•   Renderer: Refined light occlusion calculations.
•   Renderer: Shared material uniform data is now reset for each draw call. This fixes issues where a material incorrectly adopts parameters from the previously-rendered, if the current material has none.
•   Multiplayer Server UI: Fixed server port not being saved.
•   VM: Fixed material parameters not being updated for single float changes.
•   VM: Cutscenes: Fixed Hide Second Story Tiles not being saved/restored correctly. #137
•   VM: Cutscenes: Fixed camera being reset with incorrect values despite VM::StoreCameraFacing not having been called. #126
•   VM: ActivatePortal: Fixed some cases where NAT punchthrough or relaying failed to work.
•   Fixed a regression in ValidateCharacter that resulted in invalid skill point messages. #180
•   Fixed blank value in SkillPointModifierAbility in racialtypes.2da failing ELC. #180
•   Fixed a rare crash when loading custom content models.

Premiums
•   DoD: Addressed two minor issues related to the Great Cheese Caper quest

Art
•   Set all weapons for Ambient and Diffuse of 100% (1 1 1), in alignment with the new graphics & lighting
•   TCN_UDoor_02: Fixed a shifted walkmesh and transition mesh (you could transition the door w/o opening)
•   TSS13_C07_04: Fixed a bad water reference
•   PLC_C10 (Placeable Door): Fixed a bad set of Use Nodes (“secret door” fix)
•   TDM01_O11_01: Replaced a missing face in the doorway mesh (#183)
•   TCN01_A06_01: Fixed some meshes which had shifted from bas X-Forms (#178)
•   TTF02_T13-14_01: Set meshes from Render 0 to 1, fixed UV's on tent flap, added bottom mesh to lean-to (#186)
•   Orcus (Blueprint): Added missing creature hide and Wand to inventory (#177)
•   TWC03_C53_01, TWC03_C54_06: Fixed broken fireplace animations, added a woodpile for fuel (#188)
•   Gem Greatswords, Warhammers, Shields and Placeable Gemstones: Fixed UV's and self-illumination settings (#174)
•   TRM02.SET Added a missing crosser entry (#194)
•   TCM02.SET Fixed typos in a couple tile names (#196)
•   TCM02 Replaced small/misaligned water meshes on several tiles (#195)
•   IIT_Torch02 Adjusted smoke to be much more minimal than a standard torch (#189)
•   TTF02_I07_02: Removed a bunch of extra/ugly tree foliage meshes (#181)
•   Rendered new icons for the gem shields (#174)
•   Fixed Tanarukk Blueprints, Factions & Script (#198)


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on November 24, 2020, 01:57:23 AM
Seeking Beta Testers! Come test the upcoming NWNEE Patch (8193.19)
Mon, 23 November 202

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/e6c76b69e6aec75dd8ad42e63490a1f0581b8b19.png)

We're just about ready to release Patch 8193.19, but we need your help to test the beta first!

Greetings adventurers,

We’re just about ready to ship Patch 8193.19 for Neverwinter Nights: Enhanced Edition— but we need your help to test the Beta!

Last month we shipped an epic patch with some huge graphical upgrades. This month we’re looking to tackle a few bugs that big patch introduced, and improve the overall polish of our favorite RPG.

How to Participate:
•   In your Steam Library, Right-Click Neverwinter Nights: Enhanced Edition and choose “Properties”
•   Click on the Beta Tab
•   Choose the build8193.19 in the drop down menu
•   Play the Beta on Steam
•   Comment Below to Vote: [Yes, Ready to Release!] / [Not Ready! (please explain)]
•   > or Vote on the Beamdog Forums here! https://forums.beamdog.com/discussion/80993/seeking-beta-testers-is-the-nwnee-patch-8193-19-ready-for-release

Patch Highlights:
•   Fixes issue where Non-English voice overs played in English
•   Fixes several crashes in campaigns, menus & toolset
•   Refines the shaders and lighting renderers added in the last patch


Keep in mind, we plan to release future patches, so if a fix or feature you’re keen to see added isn’t here, we may be able to address it in a future update. The feedback we need from you today is to make sure this patch is stable and moves the game in the right direction!

Vote Below: Yes, Ready to Release! / Not Ready! (please explain)

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on December 02, 2020, 04:04:44 AM
Beta Test 2: Is the NWNEE Patch Ready for Release?
Tue, 1 December 2020

Help us test the updated Beta for Neverwinter Nights: Enhanced Edition!

Greetings everyone!

We’re just about ready to ship Patch 8193.20 for Neverwinter Nights: Enhanced Edition— but we need your help to test the Beta (Round 2)!

Based on your feedback from the latest beta test, we’ve updated the build of the next Neverwinter Nights: Enhanced Edition patch with a few fixes. Huge thanks to all testers for their feedback on this!

Now we'd like to gather your thoughts on the new build: Is it stable & solid? Is it ready for release? Let us know!

How to Participate:

•   In your Steam Library, Right-Click Neverwinter Nights: Enhanced Edition and choose “Properties”
•   Click on the Beta Tab
•   Choose the build8193.20 in the drop down menu
•   Play the Beta on Steam
•   Vote in the Comments Below, or on the Beamdog Forums https://forums.beamdog.com/discussion/81032/seeking-beta-testers-is-the-nwnee-patch-8193-20-ready-for-release-part-2/
•   Yes, it's Ready to Release! - or - No, it's not ready (please explain)


Keep in mind, we plan to release future patches, so if a fix or feature you’re keen to see added isn’t here, we may be able to address it in a future update. The feedback we need from you today is to make sure this patch is stable and moves the game in the right direction! Is Beta Build 8193.20 ready to release as a patch for Neverwinter Nights: Enhanced Edition?

Patch Highlights:

Last month we shipped an epic patch with some huge graphical upgrades. This month we’re looking to tackle a few bugs that the big patch introduced, and improve the overall polish of our favorite RPG.

•   Fixes issue where Non-English voice overs played in English
•   Fixes several crashes in campaigns, menus & toolset
•   Refines the shaders and lighting renderers added in the last patch
•   Added a few fixes based on user feedback in the previous test, including the hardness fix

Vote on the Beta (Round 2)!
•   Yes, Ready to Release!
•   No, It's not ready (please explain)



Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on December 16, 2020, 02:25:22 AM
New Patch for Neverwinter Nights: Enhanced Edition— Available Now!
Tue, 15 December 2020

(https://cdn.cloudflare.steamstatic.com/steam/apps/704450/ss_ae79dcee2c425095af7504f6513b82c2b14b4aec.1920x1080.jpg?t=1608058656)

Download the Stable Patch 82.8193.20 today for tons of new fixes & updates.

Greetings Adventurers,

We just launched Patch 8193.20 for Neverwinter Nights: Enhanced Edition! The update adds scores of features & fixes to the core campaigns, premium modules and toolsets. Today’s patch also addresses the voiceover issue for non-english localizations.

Huge thanks to our amazing community for helping to test out the beta versions of this patch— we couldn’t have done it without you!

Check out the Patch Highlights & Full Details below!

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/bad6524b11901246670d3dc666cdbacf08626e34.jpg)
 
Patch Highlights

•   Non-English Voiceover: We fixed the issue causing english voiceover to play for non-english localizations
•   NPC Movement: We improved the movement/navigation of Non-Player Characters (NPCs) and Creatures
•   Multiplayer: We fixed a server-side issue and increased the module description size so players get the full details
•   Dozens of Fixes: We’ve added dozens of fixes to improve the overall experience in adventures, toolsets and the Dungeon Master Client
•   New Scripting Functionality: See details below!


Check out the full patch notes below!

Patch Notes

NPC Movement
•   Improved navigation of NPCs and Creatures
•   Creatures now move in a logical direction when they are bumped or pushed

Performance Improvements
•   Optimized “Hardness” (placeable damage resistance) in the game so it no longer imposes heavy impact on server loads

Fixes
•   Non-English localizations now use correct voiceovers
•   Fixed the multiplayer UI not saving the network port configuration
•   Increased module description size to avoid cutting off text in the multiplayer browser
•   Fixed an issue causing invalid skill point messages and preventing level ups
•   Fixed a rare crash when loading custom content models
•   Fixed a crash occurring in character selection when existing character files have an invalid player class or race
•   Added a fix to make sure NPCs, like Deekin, level up correctly
•   Fixed issues in the Premium Module Darkness over Daggerford
•   Fixed an issue with the Daggerford Wagon
•   Fixed minor issues in the Great Cheese Caper quest

Graphics
•   Improved the appearance of armor and metals
•   Shadows now fade more smoothly in relation to distance, height and angles.
•   The Dynamic Contrast Shader now has adjustable settings in the options menu
•   The Depth of Field Shader now has adjustable settings in the options menu
•   Lights now fade in and out out more smoothly
•   Texture animations now animate consistently
•   Fixed the water shader showing seams
•   Water now always uses the env map
•   Grass now fades in smoothly rather than appearing abruptly
•   Skyfade fog coloured model below the horizon now covers below area, so missing meshes and keyholing show a black backdrop

Renderer Improvements
•   Optimised renderer GL buffer handling
•   Fixed clear colour erroneously reverting to black when loading into an area if a game object was received at exactly the wrong time
•   Fixed some erratic keyholing behaviour in certain situations
•   Reduced the number of shader reloads
•   Fixed dropped items floating too far over the ground
•   Fixed weather not correctly cleaning up after lightning events, sometimes resulting in heavy FPS drops
•   Fixed skin meshes (cloaks, robes) occasionally being warped or dislocated when animating
•   Normal maps are now read as two-channel textures (three are still supported, but this was needed for BC5)
•   Water reflections now ignore subsurface alpha
•   Env map tex coords are now always calculated per-fragment in HQ mode
•   Specular lighting now ignores material transparency
•   Refined light occlusion calculations
•   Shared material uniform data is now reset for each draw call. This fixes issues where a material incorrectly adopts parameters from the previously-rendered, if the current material has none.

NWSync Optimizations
•   Dedicated servers can now load their module data from a specially prepared NWSync repository, instead of having to have a copy of the module and hak files. (This mainly benefits big servers that have a CI/CD pipeline set up.)
•   Added argument -moduleurl, from which the module data will be sourced
•   Added a new optional argument -modulehash; which is considered to be `latest` if omitted
•   Generate the server/module repository with --with-module
•   You can reuse the public repository to save on duplication/disk space; or use a separate/private one. If you reuse the same repository and do not want to leak the module data, turn off http content listing and write the data with --no-latest.
•   Data is stored in SERVERHOME/nwsync (this works the same as on the client). It will auto-prune old data if the group_id matches. The rest is left up to you.

Content Updates
•   Added half-dragon tail to half-dragon blueprint
•   Added missing texture for worldmap placeables
•   Rendered new icons for the gem shields
•   Fixed Tanarukk Blueprints, Factions & Script
•   Fixed some tile models resulting in Access Violation in the toolset
•   Set all weapons for Ambient and Diffuse of 100% (1 1 1), in alignment with the new graphics & lighting
•   Fixes to Shadow, Mesh and Bounding Boxes
•   Added in several missing art models and portraits, along with toolset blueprints (DoD Flags, Signs, & Duke Painting; Tyrants Flowering Plants & Wavy Water 1x1, Invisible Ground 4x4, Worldmaps - Floor and Wall-Mounted)
•   Rebuilt placeable walkmeshes on several larger models to be 3D instead of a flat plane
•   Low Ambient Values raised to 1 1 1 (to allow other forms of tinting)
•   Shields/Cloaks/Robes: Compiled shield models and turned Ambient and Diffuse values to 1.0 1.0 1.0, so area lighting and tinting can have fullest effect as well as clothing matched-up from race-to-race
•   Skybox, Black: Added missing model
•   XP3 placeables: Many fixes for useability, shadows, z-fighting, walkmesh, and appearance
•   XP3 Gem Golems: Adjusted appearance for proper translucency & shine (creatures/weapons/shields)
•   Daggerford & Tyrants of the Moonsea Placeables: Reworked placeable Use nodes to strict 13-character length requirement, cleaned up PWK walkmesh settings
•   Glass and Metal textures: Fixed TXI settings, added an alpha channel to maps for specularity and custom environment mapping (new textures)
•   Candles (Non-Ambient): Added a dynamic light with shadowing (Disclaimer: nearby props must not be set to Static in order to cast shadows, but work much better than Ambient lights)
•   Elven Lanterns: Fixed candle flame not showing through panes and added ambient/dynamic versions, as with candles
•   Kochrachon: Fixed deformed arms & a floating "thumb"
•   Appearance.2DA: Curst Swordsman: Removed undesired environmental mapping
•   Kobolds/Goblins/Orcs/Golems/Giants: Added default environmental mapping
•   Orcus (Blueprint): Added missing creature hide and Wand to inventory
•   Gem Greatswords, Warhammers, Shields and Placeable Gemstones: Fixed UV's and self-illumination settings
•   Doortypes.2DA: Added proper blueprint ref's for the two new elven doors (TTF02)
•   Loadscreens.2DA: Added default tileset entries for DoD and Tyrants loadscreens
•   Placeables.2DA: Fixed various settings on placeable entries
•   PlaceablePalStd.ITP: Added new entries for missing blueprints, removed a couple bogus entries
•   Portraits.2DA: Added missing entries, for missing blueprints
•   Tailmodel.2DA: Changed entry 5000 from "karandas" to "Half-Dragon"
•   PLC_C10 (Placeable Door): Fixed a bad set of Use Nodes (“secret door” fix)
•   TNO01: Fixed a SQRT Domain error in TNO01 Boat (at last!)
•   TNO01: Fixed a crash in TNO01 Ship1 and Market Stall, Long: caused by too many mesh parts
•   TNO01: Fixed chimney & window animations in Inn, Coach 2x2
•   TTF02 and TTS02 Doors: Fixed DWK naming and settings
•   TTF02 Water: Fixed bad transparency settings in stream tiles (as seen through tree branches)
•   TSS13 (Seaships): Added edge tiles TSS13_edge.2DA
•   TSS13_C07_04: Fixed a bad water reference
•   TCN_UDoor_02: Fixed a shifted walkmesh and transition mesh (you could transition the door w/o opening)
•   TDM01_O11_01: Replaced a missing face in the doorway mesh
•   TCN01_A06_01: Fixed some meshes which had shifted from bas X-Forms
•   TRM02.SET: Added a missing crosser entry
•   TCM02.SET: Fixed typos in a couple tile names
•   TCM02: Replaced small/misaligned water meshes on several tiles
•   IIT_Torch02: Adjusted smoke to be much more minimal than a standard torch
•   TTF02_I07_02: Removed a bunch of extra/ugly tree foliage meshes
•   TTF02_T13-14_01: Set meshes from Render 0 to 1, fixed UV's on tent flap, added bottom mesh to lean-to
•   TWC03_C53_01, TWC03_C54_06: Fixed broken fireplace animations, added a woodpile for fuel
•   TDE01, TNI02, and TSW01: Restored the "Lightning Tiles" in TDE01, TNI02, and TSW01, added animloops for shutdown where needed

Toolset
•   Fixed some shadows not rendering properly
•   Fixed VFX emitters not rendering properly

Other Updates
•   Fixed minimap data being assigned incorrectly when deleting an area via VM::DestroyArea
•   Fixed cloaks and robes not inheriting visual transform animation speed
•   Fixed items losing the possessor reference when failing to merge a stack out of a container, resulting in dead/unusable items and eventually a crash
•   “Hide Second Story Tiles” setting is now disabled by default
•   Linux binaries are now built against Debian Stretch (9), fixing requirements to Debian 9, Ubuntu 18.04 LTS, or newer. This should take care of the glibc issues some folks were seeing, as well as the stray libsndio linkage
•   Danglymesh is now properly frozen when the game is paused
•   Model loader: Set mesh ambient and diffuse to vec3(1.0) by default
•   NWSync command line args now verify the URL and Hash formats
•   Fixed an issue where the first texture in a material was replaced with the NULL texture after an area change
•   Fixed classstat abilities modifiers not being considered for feat requirements on levelup, when the abilities are gained on the very same level
•   Fixed class stat ability modifiers sometimes not updating after a levelup (for example, for STR damage bonus)
•   Fixed blank value in SkillPointModifierAbility in racialtypes.2da failing ELC
•   Debug UI: Fixed a client crash in the NWScript Widget when inputting a invalid object ID
•   nwscript.nss: Added missing tileset resref constants
•   Config: The default value for 2D/3D bias is now 1.0 which should fix sound effect quietness (you need to reset it manually in Options if you want to try this)
•   Scripting:
•   Fixed material parameters not being updated for single float changes
•   Cutscenes: Fixed Hide Second Story Tiles not being saved/restored correctly
•   Cutscenes: Fixed camera being reset with incorrect values despite VM::StoreCameraFacing not having been called
•   ActivatePortal: Fixed some cases where NAT punchthrough or relaying failed to work
•   Fixed a crash when calling area management functions twice (e.g. CopyArea(CopyArea()))
•   EnterTargetingMode() now also triggers when the user cancels out, with the target area or object returned as INVALID_OBJECT
•   Material filenames and params now allow underscore

New Scripting Functionality
// Sets the current hitpoints of oObject.
// * You cannot destroy or revive objects or creatures with this function.
// * For currently dying PCs, you can only set hitpoints in the range of -9 to 0.
// * All other objects need to be alive and the range is clamped to 1 and max hitpoints.
// * This is not considered damage (or healing). It circumvents all combat logic, including damage resistance and reduction.
// * This is not considered a friendly or hostile combat action. It will not affect factions, nor will it trigger script events.
// * This will not advise player parties in the combat log.
void SetCurrentHitPoints(object oObject, int nHitPoints);

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on March 15, 2021, 01:04:05 AM
Development Build 8193.21
Thu, 11 March 2021


Fair greetings, one and all!

This development build is a huge one. As usual, you can use it to play on .20.1 servers (current stable release); and we’d like to encourage you to do so and report any issues you find with us!

Thank you.

Executive overview
•   A new game launcher UI that also includes a curated content repository, free for everyone (see below)
•   Full TTF font support throughout the game, for clearer and more adaptive text rendering
•   Fractional/floating-point UI scaling
•   Better UI skinning
•   Game/renderer performance improvements
•   Renderer: soft particle support, blending with fog
•   Water: Screen-space refractions and reflections
•   Pathfinding improvements
•   Visual Object Transform Lerping (smooth transitions)
•   New advanced script commands
•   Three new portraits sourced from the community portrait contest
•   Hundreds of fixes and smaller features

Curated Content
 
(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/7385ab36bbf4128ae9689cc28bb4a4eeb13ccac1.png)

This patch ships with a new (singleplayer) game launcher UI. It showcases all campaigns and premiums in a nicer way, with header images and descriptions; access to screenshots, and more. There is a split view for Premium and user modules, as well as filtering and search facilities.

We also bring in a curated content repository, hosted by Beamdog, that gives all players access to selected community content.

To start with, we are honoured to offer both the full Aielund Saga by Savant, and the Auren Saga (Almraiven/Shadewood) by Fester Pot.

All you need to do to play them is click Download and wait a bit.

As part of this development patch release cycle, we will be reaching out to others that have authored widely popular modules on the Neverwinter Vault and elsewhere.

The UI also allows adding third party content repositories, which can be hosted by anyone without going through the Beamdog curation process.

This new UI, and the curated content repository bundled with the game now, is a work in progress. We will be making changes and improvements in the future.

TTF and UI scaling
The game now supports TTF fonts, and decimal UI scaling (e.g. 1.3x, not just 1x, 2x).

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/4cfc0141cb8bf424b87d61c0d5c542d49b5a9f13.gif)
 
Water improvements

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/7fe4a82ce1c1d651a5812f91f84230a54ab4f11f.gif)

Visual Object Transform lerping
Visual effects applied via scripting can now lerp. This means that, for example, a creature size change can appear smoothly over a configured time, and not instant.

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/b53308fd76a276467ef8898126dc8fb8f0134399.gif)

All existing visual transforms can be interpolated this way.

To accommodate this, the script API has been amended:
float SetObjectVisualTransform(object oObject, int nTransform, float fValue, int nLerpType = OBJECT_VISUAL_TRANSFORM_LERP_NONE, float fLerpDuration = 0.0, int bPauseWithGame = TRUE);

int OBJECT_VISUAL_TRANSFORM_LERP_NONE = 0; // 1
int OBJECT_VISUAL_TRANSFORM_LERP_LINEAR = 1; // x
int OBJECT_VISUAL_TRANSFORM_LERP_SMOOTHSTEP = 2; // x * x * (3 - 2 * x)
int OBJECT_VISUAL_TRANSFORM_LERP_INVERSE_SMOOTHSTEP = 3; // 0.5 - sin(asin(1.0 - 2.0 * x) / 3.0)
int OBJECT_VISUAL_TRANSFORM_LERP_EASE_IN = 4; // (1 - cosf(x * M_PI * 0.5))
int OBJECT_VISUAL_TRANSFORM_LERP_EASE_OUT = 5; // sinf(x * M_PI * 0.5)
int OBJECT_VISUAL_TRANSFORM_LERP_QUADRATIC = 6; // x * x
int OBJECT_VISUAL_TRANSFORM_LERP_SMOOTHERSTEP = 7; // (x * x * x * (x * (6.0 * x - 15.0) + 10.0))

Code: [Select]
[size=12pt][b]New script commands[/b][/size]

// Returns the currently executing event (EVENT_SCRIPT_*) or 0 if not determinable.
// Note: Will return 0 in DelayCommand/AssignCommand. ExecuteScript(Chunk) will inherit their event ID from their parent event.
int GetCurrentlyRunningEvent();

// Get the integer parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 8.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or 0 on error/when not set.
int GetEffectInteger(effect eEffect, int nIndex);

// Get the float parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 4.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or 0.0f on error/when not set.
float GetEffectFloat(effect eEffect, int nIndex);

// Get the string parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 6.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or "" on error/when not set.
string GetEffectString(effect eEffect, int nIndex);

// Get the object parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 4.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or OBJECT_INVALID on error/when not set.
object GetEffectObject(effect eEffect, int nIndex);

// Get the vector parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 2.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or {0.0f, 0.0f, 0.0f} on error/when not set.
vector GetEffectVector(effect eEffect, int nIndex);

// Check if nBaseItemType fits in oTarget's inventory.
// Note: Does not check inside any container items possessed by oTarget.
// * nBaseItemType: a BASE_ITEM_* constant.
// * oTarget: a valid creature, placeable or item.
// Returns: TRUE if the baseitem type fits, FALSE if not or on error.
int GetBaseItemFitsInInventory(int nBaseItemType, object oTarget);

// Get oObject's local cassowary variable reference sVarName
// * Return value on error: empty solver
// * NB: cassowary types are references, same as objects.
// Unlike scalars such as int and string, solver references share the same data.
// Modifications made to one reference are reflected on others.
cassowary GetLocalCassowary(object oObject, string sVarName);

// Set a reference to the given solver on oObject.
// * NB: cassowary types are references, same as objects.
// Unlike scalars such as int and string, solver references share the same data.
// Modifications made to one reference are reflected on others.
void SetLocalCassowary(object oObject, string sVarName, cassowary cSolver);

// Delete local solver reference.
// * NB: cassowary types are references, same as objects.
// Unlike scalars such as int and string, solver references share the same data.
// Modifications made to one reference are reflected on others.
void DeleteLocalCassowary(object oObject, string sVarName);

// Clear out this solver, removing all state, constraints and suggestions.
// This is provided as a convenience if you wish to reuse a cassowary variable.
// It is not necessary to call this for solvers you simply want to let go out of scope.
void CassowaryReset(cassowary cSolver);

// Add a constraint to the system.
// * The constraint needs to be a valid comparison equation, one of: >=, ==, <=.
// * This implementation is a linear constraint solver.
// * You cannot multiply or divide variables and expressions with each other.
// Doing so will result in a error when attempting to add the constraint.
// (You can, of course, multiply or divide by constants).
// * fStrength must be >= CASSOWARY_STRENGTH_WEAK && <= CASSOWARY_STRENGTH_REQUIRED.
// * Any referenced variables can be retrieved with CassowaryGetValue().
// * Returns "" on success, or the parser/constraint system error message.
string CassowaryConstrain(cassowary cSolver, string sConstraint, float fStrength = CASSOWARY_STRENGTH_REQUIRED);

// Suggest a value to the solver.
// * Edit variables are soft constraints and exist as an optimisation for complex systems.
// You can do the same with Constrain("v == 5", CASSOWARY_STRENGTH_xxx); but edit variables
// allow you to suggest values without having to rebuild the solver.
// * fStrength must be >= CASSOWARY_STRENGTH_WEAK && < CASSOWARY_STRENGTH_REQUIRED
// Suggested values cannot be required, as suggesting a value must not invalidate the solver.
void CassowarySuggestValue(cassowary cSolver, string sVarName, float fValue, float fStrength = CASSOWARY_STRENGTH_STRONG);

// Get the value for the given variable, or 0.0 on error.
float CassowaryGetValue(cassowary cSolver, string sVarName);

// Gets a printable debug state of the given solver, which may help you debug
// complex systems.
string CassowaryDebug(cassowary cSolver);

// Overrides a given strref to always return sValue instead of what is in the TLK file.
// Setting sValue to "" will delete the override
void SetTlkOverride(int nStrRef, string sValue="");

// Constructs a custom itemproperty given all the parameters explicitly.
// This function can be used in place of all the other ItemPropertyXxx constructors
// Use GetItemProperty{Type,SubType,CostTableValue,Param1Value} to see the values for a given itemproperty.
itemproperty ItemPropertyCustom(int nType, int nSubType=-1, int nCostTableValue=-1, int nParam1Value=-1);

Pathfinding
•   Makes PC pathfinding no longer use simplified pathfinding at certain distances. Given that PC pathfinding is given more time, it is generally well able to handle this and benefit from it.
•   Fixed inaccurate calculation of grid step tolerance when using grid pathfinding.
•   Fixed potential endless loops with ActionMoveAwayFromLocation.
•   Fixed inconsistencies between when to use Z when comparing distances, which would result in certain actions failing when they shouldn't.
•   Adds lacking safety checks which was causing pathfinding to floor performance if trying to interact with a door that was unreachable.
•   Server settings: Removed experimental enhanced pathfinding toggle (now always on).
•   Fixed some minor errors related to collision resulting in imprecisions.

Other Features
•   GUI/NUI: Implemented floating point UI scaling.
•   GUI/NUI: Implemented TTF font rendering.
•   NUI: Implemented 9-slice gui skinning.
•   NUI: Now using a cassowary constraint solver system to layout widgets.
•   Floating damage numbers are now colourised based on the damage type taken.
•   NUI: Redesigned the Options UI.
•   NUI: Redesigned the NWSync Storage Management UI. (Now called Storage in the menu, and also accessible via the new game launcher).
•   NUI: Fixed up some other UI panels to layout properly even when scaled.
•   NUI: Added a panel to show Open Source Licences to config UI.
•   NUI: Made sound effects more immersive/in line with base UI usage (different click noises depending on widget).
•   GUI: Added a windowed/fullscreen/borderless dropdown to the Config UI and fixed the mode sometimes not initialising correctly.
•   Async loading of files and images via http streaming. (Backend system work)
•   ResMan: Movies can now be stored and played from override, ERF (hak, mod) and NWSync.
•   SQLite: Added a configurable busy timeout, so that just externally running something on a campaign/nwsync database doesn’t immediately abort queries running in the game. (3s default)
•   SQLite: Added builtin functions for NWCompressedBuf compression, base64 de/encode, and hashing. See SQLITE_Readme.md in data.
•   HTTP: Added a disk caching service to avoid repeated requests; added alias CACHE: (USERDIR/cache) by default. Configurable in settings, default max size is 100MB.
•   Base: Game windowed size is now 1024x768 by default, because some UI just got too big.
•   Base: TLK files now have a local cache, improving repeated lookup performance.
•   Base: API cleanup for NWNX support
•   Server: Removed some superfluous service updates (very minor perf).
•   Renderer: Tweaks to palettes for PLTs to prevent metallic looks. Tweaks to PLTs for armour to prevent alpha dithering: https://nwn.beamdog.net/web/compare/custom_mat/
•   Renderer: Added unique shader for particles; now with soft particle rendering; enable particle blending with fog: https://nwn.beamdog.net/web/compare/softparticles/, https://nwn.beamdog.net/web/compare/particles_fog/
•   Renderer: Improved colour overflow for transparent objects: https://nwn.beamdog.net/web/compare/alpha_overflow/
•   Renderer: Implemented proper OpenGL buffer orphaning.
•   Renderer: Unified and simplified the shader setup, allowing the default vs/fslit_nm/sm shaders to be used for all standard PBR setups.
•   Renderer: Made displacement offset a uniform that can be passed from materials to set a base level. To use it, add parameter float DisplacementOffset in a material. By default, the shaders assume the base (zero) level of the heightmap is 1 (white), so if base level is 0.6, the value needs to be -0.4, etc.
•   Renderer: Made alpha level adhere to Fresnel effects at high shader quality.
•   Renderer/Debug UI: Added a dropdown to select various rendering modes helpful for debugging (Material modes, Lighting channels, ..)
•   Renderer: Improvements to FBO, grant all shaders access to color and depth buffer textures
•   Renderer: Quickbar icons can now reload via SetTextureOverride #121
•   Renderer: Fixed broken normal and tangent generation for skinmeshes due to invalidated render hints. Improved shader picking based on tangets/handedness.
•   Renderer: Shader compilation errors are now printed to the game log file.
•   Renderer: Separated out area wide lighting from area point lights. (Small perf improvement).
•   Renderer/OVT: WALKDIST and RUNDIST now scales properly with visual transforms for you, in order to keep footsteps in sync.
•   Renderer: Added material files for icy tileset.
•   Renderer: Added material files for male and female old human heads so their hair no longer appears metallic.

Fixes
•   Fixed main menu music not playing when intro movies are skipped.
•   Renderer: Fixed a bad hashing algo for PLT textures resulting in excessive cache misses.
•   Renderer: Fixed incorrectly initialised null textures in some cases, resulting in incorrect textures and unnecessary texture binds.
•   Renderer: Removed redundant skinmesh bone remapping. Slight performance improvement, especially for models with many nodes.
•   Renderer: Made texture management more efficient, streamline for future changes to PBR.
•   Renderer/ResMan: Disabled the async model loader. Addresses the bodyparts missing issue. #145
•   Renderer: Maximum number of bones of a single skinmesh is now 64, to match mobile. This should fix the case where the game runs with 1-2fps on some GPUs.
•   Renderer: Fixed crashes due to NULL textures.
•   Renderer: Fixed crashing due to broken skinmesh models.
•   Renderer: Regression: Fixed compiled light models having issues due to memory misalignment/struct packing.
•   Renderer: Fixed an issue that would potentially cause scenes using custom shaders to malfunction in the event that a user changes video options in game.
•   Renderer: Fix text input caret pulsing when paused. Fix caret colouring following text in some situations.
•   Renderer: Safeguard against crashes when an animation was missing
•   Renderer: Optimised animesh buffer uploading; reduce time spent on GUI rendering.
•   Renderer: Make the `decal` property actually disable lighting, rather than just self-illuminating brightly. Fixed some GUI scenes by adding decal to txis.
•   Renderer: Fixed issue with darkness and similar negative light effects always being pushed to the end of the light priority list.
•   Renderer: Fixed tile lights being added to the BSP before having their radii set (causing minor imprecisions.)
•   Renderer: Fixed an issue with setting custom shaders when objects were using just one material for all parts while having more than one part.
•   Renderer: Fixed a minor regression with the high contrast shader.
•   Renderer: Removed a good chunk of dead/redundant code.
•   Nuklear: Fixed a memleak that would degrade long play sessions
•   VM: Fixed crash when calling DestroyArea() on a invalid object.
•   VM: Stopped ExecuteScriptChunk from writing “!chunk.ndb” to override.
•   VM: sqlite commands: Added missing newline in log output.
•   VM: Fixed issue in string handling (also: VM: SubString()) that would have resulted in memory leaks or crashes.
•   Game: Don’t use weapon AB for ranged touch attacks anymore.
•   Fixes to passive attack target selection. This should address Cleave etc. sometimes failing to find a followup target. #172
•   Game: Effect Miss Chance/Blind Fighting: Fix erroneous re-roll against target concealment, fix effect being ignored against blind fighting. #15
•   Game: Fixed error in levelup validation related to SkillpointModifierAbility being starred out #180
•   Game: Fixed ResistSpell() when called from AOE spell scripts.
•   Game: Fixed classstat modifiers applying incorrectly to polymorph. #185
•   Fixed the DM flag being set incorrectly on player characters when copying files around. #216
•   Fixed a rare crash in game object update netcode when writing out the party state of a player that just exited.
•   Fixed a loop wraparound overflow game hang/crash when removing effect icons.
•   Game: Fixed a crash when the game tried to write a log entry as it was shutting down.
•   Emitters: fixed them not interpolating if not both size_y start and end were set (correct behaviour is to do if either is non-zero).
•   Game: Never allow the window size to shrink below (100, 100). This works around the case where the window was too small to spot or resize back up0.
•   Fixed a crash when clicking the Recommended button on chargen package selection with no packages available.
•   Fixed a string type conversion error resulting in some empty strings in UI
•   http: Made http errors more verbose. Verbosity is Friend.
•   Fixed nwsync-enabled savegames not loading due to missing TLK error.
•   Input: Character input is now correctly converted from the language charset. This should address broken polish text input.
•   NUI: Fixed codepage glyphs cutting text off due to incorrectly-set codepage.
•   NUI: Fix window flickering from (0,0) to center pos on first frame after opening.
•   NUI: Fix window sometimes scaling down to (0,0).
•   NUI: Pressing Escape now closes the currently focused window.
•   NUI: Fixed UI not properly hiding when pressing Alt-F4/X to close the game.
•   NUI Skinning: Made font white in all widgets, instead of grey.
•   NUI Skinning: Skinned text input box.
•   NUI Skinning: Title bars now look like native windows.
•   NUI Skinning: Close/Minimise buttons match native style.
•   NUI Skinning: Fixed combo box style.
•   NUI Skinning: Window and group borders are now rendered 9-sliced.
•   NUI Skinning: Fixed scrollbars not aligning properly.
•   NUI: Fixed windows not properly auto-centering when ui-scaled.
•   NUI: Fixed line fitting code to no longer repeat words when word-wrapping; improved performance to only do line flowing once.
•   NUI: Fixed layouting reflow triggering once per frame when UI-scaled.
•   NUI/GUI: Fixed TTF font rendering for Polish. #191 #235
•   GUI: Fixed input caret; now back with extra cyan and more blinkage.
•   GUI: Fixed password input box not accepting your passwords, no matter how good they were.
•   Movie player: Optimised so it doesn’t create the movie texture as often.
•   Toolset: Fixed floating point drifting for X/YOrientation
•   Toolset: Now reads DEVELOPMENT: (but it might not live-reload the same as the game would).

Art
•   Added three content winner portraits to base game (aragnosh/human male, seafaref/halfelf female, seafarem/halfelf male).
•   Fixed torch model flicker.

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on April 17, 2021, 12:00:02 AM
Development Build 8193.22
Fri, 16 April 2021

https://cdn.cloudflare.steamstatic.com/steam/apps/704450/ss_ae79dcee2c425095af7504f6513b82c2b14b4aec.1920x1080.jpg

Hello, friends!

A new patch marks another iteration towards an upcoming stable release. Please help us test this build and report any issues you spot.

New Game UI
•   Content is now presented as Official vs Community, instead of Campaigns vs Standalone.
•   Search filtering works better, can now filter by campaign names, authors.
•   More consistently-styled button sizes and UI elements.
•   Kingmaker, ShadowGuard and WitchesWake have been moved out of Premium into extra content on the Official content tab.
•   Filled in missing screenshots on the Premium modules.
•   Module sort order is now persisted to configuration
•   Various text/wording changes.

Water shader
•   More uniform appearance between shader quality modes.
•   Improve refraction and reflection precision/quality.
•   Water renders now after shadows and the SSAO pass.
•   Waves more natural-looking.
•   Translucence is now relative to source texture alpha.
•   Translucence now shadows the surface beneath the water.

NWScript Debugger
•   Added back script debugger binary into bin/win32/.
•   Added configuration keys to UI.
•   Fixed incorrect address parsing resulting in it not connecting. Also fixes setting debugger addresses other than localhost.
•   Fixed heap overflow parsing NDB files resulting in crashes.
•   Now renders all internal fields of CGameEffect.
•   Now renders all internal state of CScriptEvent.
•   Now renders cswysolver and sqlquery types instead of crashing in pitiful confusion.
•   Will no longer attempt to launch from within nwmain, you now need to run the binary by hand. On the plus side, it should now work on Linux and Mac (via wine/wine32to64).

Other
•   Linux: Fixed exclusive(fullscreen) and borderless window modes.
•   ResMan: Fixed crash that could happen when exiting the game, especially seen after failing to load a savegame.
•   Renderer: Restore the check for bumpshinytexture, fixing regression where meshes appeared transparent or invisible #298
•   Renderer: Tweaked horizontal TTF font spacing a bit more to make it match old visual feel.
•   Renderer: Fix regression introduced with previous preview where static tile lights didn’t update properly.
•   Renderer: Fixed static lights not updating properly. #290
•   Nui: Fixed some windows not centering properly when UI-scaled.
•   Nui: Limited UI scale so that new game/options windows will still fit. #288
•   Config UI: Don’t show horizontal scrollbar when UI scaled.
•   Config: Add toggle that allows showing damage numbers as totals or split.
•   nwhak: Fixed it not starting.
•   VM: Fixed GetObjectVisualTransform stack underflowing on existing modules (.21 regression)
•   VM: SetTlkOverride now parses tokens
•   Game: Fixed SetColor() not updating in some cases (such as heads/hair)
•   Game: Fix attacking non-creature objects #302
•   Game: Fixed DM character creation. #294
•   TTF/Fonts: Pixel alignment now respects GUI scale, improving rendering quality
•   Fonts: Fix some characters in codepages (‘, etc) not showing correctly #278 #279
•   Fonts: Fixed text in password fields not showing up
•   Fonts: Enable flexible font spacing; fixes dialog UI being cut off when many options are present
•   Fonts: Make ingame fonts space out less
•   Fonts: Fixed caret no longer showing on top of text
•   MP UI: Fixed another potential crash running custom modules.
•   NWSync hosting mode: Fixed rules not being reloaded properly after the initial manifest was added to the embedded server, resulting in missing creatures in Aielund Saga due to wrong appearance.2da having loaded.
•   Pathing: Fixed failing to update move click action when setting new target #286
•   Input: Added new manual config key game.language.codepage that can be used to force a different codepage (e.g. cp1251 for cyrillic). Together with a TTF override, this should restore compatibility for russian language overrides.
•   Toolset: Fixed some backgrounds not filling the full icon pane. #240
•   Art: Fixed forest facelift tileset (ttf02) referring to missing envmap, resulting in transparent metal textures.


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 03, 2021, 11:37:27 PM
Development Build 8193.23
Mon, 3 May 2021

(https://cdn.cloudflare.steamstatic.com/steam/apps/704450/ss_ae79dcee2c425095af7504f6513b82c2b14b4aec.1920x1080.jpg)

Greetings, dear community!

This patch release contains another set of small bug fixes and improvements that will hopefully see us shipping this to the stable branch really soon.

Thank you for reporting any issues you find! Your help will catch all the corner cases with multiplayer and custom content we cannot test for.

Fixes
•   Renderer: Minor tweaks to water shader parameters to make it look more natural.
•   Pathfinding: Fixed a case where creatures failed to path to a near point in a straight line.
•   New Game Launcher: Show author line on campaign tabs.
•   New Game Launcher: Show advisory about potential savegame/manifest mismatch issues when downloading new versions.
•   New Game Launcher: Allow selecting campaign tabs when a module in the same campaign is selected.
•   Fix adding custom repositories.
•   New Game Launcher: Added a small spacer between campaigns and modules in custom content repos.
•   New Game Launcher: Empty bottom bar on the Official content tab is now hidden.
•   New Game Launcher: Campaigns are now deselected when selecting a non-campaign module on the same pane that have both.
•   Savegames: When loading a savegame with a missing manifest, attempt to load the newest manifest of the same UUID instead (upgrade path for New Game UI modules). Emit a message to the client log indicating such - no UI support for showing this yet.
•   NWSync: Client now downloads wbm movie files if part of the manifest.
•   Pathfinding: Addressed regression where NPCs fail to open doors. #285
•   Pathfinding: Fixed interacting with objects when Z-offset was implied (e.g. stairs). This should alleviate some troubles where having to manually force the PC near the object before it would interact.
•   UI: Allow exceeding safe UI scale if needed for accessibility reasons. There is a toggle under Config->UI->Accessibility->Advanced.
•   UI: Now clamp lower bound of UI scale to 1.0.
•   UI: horizontal window constraint is now 900 instead of 960 before requiring scaling.
•   Nui: Fixed more panels erroneously showing a horizontal scrollbar when scaled.

Art
•   Art: Shifted collision box for tcn_udoor_01 #313

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 20, 2021, 11:09:00 PM
Patch 8193.23 Launches for Neverwinter Nights: Enhanced Edition
Thu, 20 May 2021

(https://cdn.cloudflare.steamstatic.com/steam/apps/704450/ss_ae79dcee2c425095af7504f6513b82c2b14b4aec.1920x1080.jpg)

Greetings friends!

We’re launching a new patch for
Neverwinter Nights: Enhanced Edition
with some of the biggest feature sets yet! Today’s update brings a new game launcher with featured community content, performance improvements, plus hundreds of fixes.

Check out full details on Patch 8193.23 below...
Patch Highlights

New Game Launcher
| A new game launcher highlights some amazing community content that’s free for everyone!
New Portraits
| Added three new character portraits (sourced from the community portrait contest)
TrueType Font
| Added full TrueType font (TTF) support throughout the game, for clearer and more adaptive text (as well as fractional/decimal point UI scaling)
Pathfinding Improvements
| Smoother movement and navigation
Performance Improvements
| Enjoy smoother gameplay with significant performance improvements
Bug Fixes
| Hundreds of bug fixes and polish features added
New Scripts
| Added dozens of new script commands for use in custom servers, including improved scaling and transformation (lerping)
Water Graphics
| Added realistic water reflections and refractions
New Game Launcher with Community Highlights

This patch ships with a new (singleplayer) game launcher. It showcases all campaigns and premium modules with header images, descriptions, screenshots, and more.

We’ve also added a repository of community content, hosted by Beamdog. This gives all players easier access to some amazing (and free) community adventures. For example, we are honoured to offer both the full Aielund Saga by Savant, and the Auren Saga (Almraiven / Shadewood) by Fester Pot. Now all you need to do to play them is click Download (...and wait a bit).

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/ef3d6f0af3f092cc303ddbe16911cc522fcca7a2.png)

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/dc02d61b30d5a811a21776b475c62a788b41472b.png)

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/487becb93f09fb4a5759fdcd6176498610909e64.png)

Aielund Saga
By Savant

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/715a4f2abe16851bcae225108386ca940f79dce8.jpg)
 
Embark on a journey through the Kingdom of Aielund, a realm weakened by war and beset by enemies from without and within. Defend the people of Aielund against monsters from mythology, and ones that clothe themselves in a more human form. Uncover evidence of foul play, delve into the deepest caves, travel the breadth of the land and even the planes of reality. Secure the kingdom from foes more powerful than you can imagine, while you rise from simple mercenaries into the mightiest of heroic legends.
Auren Saga
By PJH

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/1c1c44864a046c8cd664588e41d4721a1b0f08e0.jpg)

The Auren Society of Weavers draw their power from a Weave that spans into the Land of the Dead. It allows such members to grasp a better understanding of the spirits that roam that realm and use it to their advantage. It is this very Weave one will use to scour murderous scenes and unravel the mysterious deaths that surround the region of Calimshan.
TrueType Fonts and UI scaling

The game now supports TrueType fonts (and fractional/decimal point UI scaling). This means when you adjust the User Interface the text scales much more clearly for readability.
Note
: Currently, fonts cannot be overridden by custom content, but we are looking at options for a future release.

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/4cfc0141cb8bf424b87d61c0d5c542d49b5a9f13.gif)

Water Visuals
We’ve added brand new water visuals! Water now has realistic reflections and refractions to make your adventures more beautiful.

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/7fe4a82ce1c1d651a5812f91f84230a54ab4f11f.gif)

Art Changes
•   Added three contest winner portraits to base game (Aragnosh: human male, Seafaref: half-elf female, Seafarem: half-elf male)
•   Fixed torch model flicker
•   Fixed forest facelift tileset (ttf02) referring to missing envmap, resulting in transparent metal textures

Pathfinding Improvements

We have been carefully making some changes to pathfinding to improve efficiency and reliability. Here are some of the technical details of the changes:
•   Pathfinding on Windows, macOS and Linux no longer uses simplified pathfinding at certain distances.
•   Fixed inaccurate calculation of grid step tolerance when using grid pathfinding.
•   Fixed potential endless loops with ActionMoveAwayFromLocation.
•   Fixed inconsistencies between when to use Z when comparing distances, which would result in certain actions failing when they shouldn't
•   Added lacking safety checks which was causing pathfinding to floor performance if trying to interact with a door that was unreachable
•   Server settings: Removed experimental enhanced pathfinding toggle (now always on).
•   Fixed some minor errors related to collision resulting in imprecisions
•   Fixed interacting with objects when Z-offset was implied (e.g. stairs). This should alleviate some troubles where having to manually force the PC near the object before it would interact
•   Fixed a case where creatures failed to pathfind to a near point in a straight line

New Scripting
Visual Object Transform Lerping

Script commands can now transform objects smoothly over time.

All existing visual transform types (translate, rotate, scale) can be applied this way, and there is a built in selection of algorithms available.

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/b53308fd76a276467ef8898126dc8fb8f0134399.gif)
 
New Script Commands

This release adds a set of new script commands:

// Returns the currently executing event (EVENT_SCRIPT_*) or 0 if not determinable.
// Note: Will return 0 in DelayCommand/AssignCommand. ExecuteScript(Chunk) will inherit their event ID from their parent event.
int GetCurrentlyRunningEvent();
// Get the integer parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 8.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or 0 on error/when not set.
int GetEffectInteger(effect eEffect, int nIndex);
// Get the float parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 4.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or 0.0f on error/when not set.
float GetEffectFloat(effect eEffect, int nIndex);
// Get the string parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 6.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or "" on error/when not set.
string GetEffectString(effect eEffect, int nIndex);
// Get the object parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 4.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or OBJECT_INVALID on error/when not set.
object GetEffectObject(effect eEffect, int nIndex);
// Get the vector parameter of eEffect at nIndex.
// * nIndex bounds: 0 >= nIndex < 2.
// * Some experimentation will be needed to find the right index for the value you wish to determine.
// Returns: the value or {0.0f, 0.0f, 0.0f} on error/when not set.
vector GetEffectVector(effect eEffect, int nIndex);
// Check if nBaseItemType fits in oTarget's inventory.
// Note: Does not check inside any container items possessed by oTarget.
// * nBaseItemType: a BASE_ITEM_* constant.
// * oTarget: a valid creature, placeable or item.
// Returns: TRUE if the baseitem type fits, FALSE if not or on error.
int GetBaseItemFitsInInventory(int nBaseItemType, object oTarget);
// Get oObject's local cassowary variable reference sVarName
// * Return value on error: empty solver
// * NB: cassowary types are references, same as objects.
// Unlike scalars such as int and string, solver references share the same data.
// Modifications made to one reference are reflected on others.
cassowary GetLocalCassowary(object oObject, string sVarName);
// Set a reference to the given solver on oObject.
// * NB: cassowary types are references, same as objects.
// Unlike scalars such as int and string, solver references share the same data.
// Modifications made to one reference are reflected on others.
void SetLocalCassowary(object oObject, string sVarName, cassowary cSolver);
// Delete local solver reference.
// * NB: cassowary types are references, same as objects.
// Unlike scalars such as int and string, solver references share the same data.
// Modifications made to one reference are reflected on others.
void DeleteLocalCassowary(object oObject, string sVarName);
// Clear out this solver, removing all state, constraints and suggestions.
// This is provided as a convenience if you wish to reuse a cassowary variable.
// It is not necessary to call this for solvers you simply want to let go out of scope.
void CassowaryReset(cassowary cSolver);
// Add a constraint to the system.
// * The constraint needs to be a valid comparison equation, one of: >=, ==, <=.
// * This implementation is a linear constraint solver.
// * You cannot multiply or divide variables and expressions with each other.
// Doing so will result in a error when attempting to add the constraint.
// (You can, of course, multiply or divide by constants).
// * fStrength must be >= CASSOWARY_STRENGTH_WEAK && <= CASSOWARY_STRENGTH_REQUIRED.
// * Any referenced variables can be retrieved with CassowaryGetValue().
// * Returns "" on success, or the parser/constraint system error message.
string CassowaryConstrain(cassowary cSolver, string sConstraint, float fStrength = CASSOWARY_STRENGTH_REQUIRED);
// Suggest a value to the solver.
// * Edit variables are soft constraints and exist as an optimisation for complex systems.
// You can do the same with Constrain("v == 5", CASSOWARY_STRENGTH_xxx); but edit variables
// allow you to suggest values without having to rebuild the solver.
// * fStrength must be >= CASSOWARY_STRENGTH_WEAK && < CASSOWARY_STRENGTH_REQUIRED
// Suggested values cannot be required, as suggesting a value must not invalidate the solver.
void CassowarySuggestValue(cassowary cSolver, string sVarName, float fValue, float fStrength = CASSOWARY_STRENGTH_STRONG);
// Get the value for the given variable, or 0.0 on error.
float CassowaryGetValue(cassowary cSolver, string sVarName);
// Gets a printable debug state of the given solver, which may help you debug
// complex systems.
string CassowaryDebug(cassowary cSolver);
// Overrides a given strref to always return sValue instead of what is in the TLK file.
// Setting sValue to "" will delete the override
void SetTlkOverride(int nStrRef, string sValue="");
// Constructs a custom itemproperty given all the parameters explicitly.
// This function can be used in place of all the other ItemPropertyXxx constructors
// Use GetItemProperty{Type,SubType,CostTableValue,Param1Value} to see the values for a given itemproperty.
itemproperty ItemPropertyCustom(int nType, int nSubType=-1, int nCostTableValue=-1, int nParam1Value=-1);
NWScript Debugger

We’ve revived the script debugger with several improvements:
•   Added back script debugger binary into bin/win32/.
•   Added configuration keys to UI.
•   Fixed incorrect address parsing resulting in it not connecting. Also fixes setting debugger addresses other than localhost.
•   Fixed heap overflow parsing NDB files resulting in crashes.
•   Now renders all internal fields of CGameEffect.
•   Now renders all internal state of CScriptEvent.
•   Now renders cswysolver and sqlquery types instead of crashing in pitiful confusion.
•   Will no longer attempt to launch from within nwmain, you now need to run the binary by hand. On the plus side, it should now work on Linux and Mac (via wine/wine32to64).

Other Feature Changes

In addition to the major features listed above, we’ve added dozens of minor polish features to improve the game:
•   GUI/NUI: Implemented floating point UI scaling.
•   UI: Allow exceeding safe UI scale if needed for accessibility reasons. There is a toggle under Config->UI->Accessibility->Advanced.
•   GUI/NUI: Implemented TTF font rendering.
•   Input: Added new manual config key game.language.codepage that can be used to force a different codepage (e.g. cp1251 for cyrillic). Together with a TTF override, this should allow modding in compatibility for russian language overrides.
•   NUI: Implemented 9-slice gui skinning.
•   NUI: Now using a cassowary constraint solver system to layout widgets
•   Floating damage numbers are now colourised based on the damage type taken.
•   Add config toggle that allows showing damage numbers as totals or split
•   NUI: Redesigned the Options UI.
•   NUI: Redesigned the NWSync Storage Management UI. (Now called Storage in the menu, and also accessible via the new game launcher).
•   NUI: Fixed up some other UI panels to layout properly even when scaled.
•   NUI: Added a panel to show Open Source Licences to config UI.
•   NUI: Made sound effects more immersive/in line with base UI usage (different click noises depending on widget).
•   GUI: Added a windowed/fullscreen/borderless dropdown to the Config UI and fixed the mode sometimes not initialising correctly.
•   Async loading of files and images via http streaming. (Backend system work)
•   ResMan: Movies can now be stored and played from override, ERF (hak, mod) and NWSync.
•   SQLite: Added a configurable busy timeout, so that just externally running something on a campaign/nwsync database doesn’t immediately abort queries running in the game. (3s default)
•   SQLite: Added builtin functions for NWCompressedBuf compression, base64 de/encode, and hashing. See SQLITE_Readme.md in data.
•   NWSync: Client now downloads wbm movie files if part of the manifest.
•   HTTP: Added a disk caching service to avoid repeated requests; added alias CACHE: (USERDIR/cache) by default. Configurable in settings, default max size is 100MB.
•   Base: Game windowed size is now 1024x768 by default, because some UI just got too big.
•   Base: TLK files now have a local cache, improving repeated lookup performance.
•   Base: API cleanup for NWNX support
•   Server: Removed some superfluous service updates (very minor perf).
•   Renderer: Tweaks to palettes for PLTs to prevent metallic looks. Tweaks to PLTs for armour to prevent alpha dithering. Check out the comparison here
•   Renderer: Added unique shader for particles, with soft particle rendering and enabled particle blending with fog. Check out soft particle shader here and fog rendering here
•   Renderer: Improved colour overflow for transparent objects. Check out the comparison here
•   Renderer: Implemented proper OpenGL buffer orphaning
•   Renderer: Unified and simplified the shader setup, allowing the default vs/fslit_nm/sm shaders to be used for all standard PBR setups
•   Renderer: Made displacement offset a uniform that can be passed from materials to set a base level. To use it, add parameter float DisplacementOffset in a material. By default, the shaders assume the base (zero) level of the heightmap is 1 (white), so if base level is 0.6, the value needs to be -0.4, etc
•   Renderer: Made alpha level adhere to Fresnel effects at high shader quality.
•   Renderer/Debug UI: Added a dropdown to select various rendering modes helpful for debugging (Material modes, Lighting channels, ..)
•   Renderer: Improvements to FBO, grant all shaders access to color and depth buffer textures
•   Renderer: Quickbar icons can now reload via SetTextureOverride.
•   Renderer: Fixed broken normal and tangent generation for skinmeshes due to invalidated render hints. Improved shader picking based on tangets/handedness.
•   Renderer: Shader compilation errors are now printed to the game log file.
•   Renderer: Separated out area wide lighting from area point lights. (Small perf improvement)
•   Renderer/OVT: WALKDIST and RUNDIST now scales properly with visual transforms for you, in order to keep footsteps in sync
•   Renderer: Added material files for icy tileset so that ice no longer appears metallic
•   Renderer: Added material files for male and female old human heads so their hair no longer appears metallic

Fixes

In addition to feature changes, this patch release also contains a sizeable selection of bug fixes:
•   Fixed main menu music not playing when intro movies are skipped.
•   Renderer: Fixed a bad hashing algo for PLT textures resulting in excessive cache misses.
•   Renderer: Fixed incorrectly initialised null textures in some cases, resulting in incorrect textures and unnecessary texture binds.
•   Renderer: Removed redundant skinmesh bone remapping. Slight performance improvement, especially for models with many nodes.
•   Renderer: Made texture management more efficient, streamline for future changes to PBR.
•   Renderer/ResMan: Disabled the async model loader. Addresses the bodyparts missing issue. #145
•   Renderer: Maximum number of bones of a single skinmesh is now 64, to match mobile. This should fix the case where the game runs with 1-2fps on some GPUs.
•   Renderer: Fixed crashes due to NULL textures.
•   Renderer: Fixed crashing due to broken skinmesh models.
•   Renderer: Regression: Fixed compiled light models having issues due to memory misalignment/struct packing.
•   Renderer: Fixed an issue that would potentially cause scenes using custom shaders to malfunction in the event that a user changes video options in game.
•   Renderer: Fix text input caret pulsing when paused. Fix caret colouring following text in some situations
•   Renderer: Safeguard against crashes when an animation was missing
•   Renderer: Optimised animesh buffer uploading; reduce time spent on GUI rendering.
•   Renderer: Make the `decal` property actually disable lighting, rather than just self-illuminating brightly. Fixed some GUI scenes by adding decal to txis.
•   Renderer: Fixed issue with darkness and similar negative light effects always being pushed to the end of the light priority list.
•   Renderer: Fixed tile lights being added to the BSP before having their radii set (causing minor imprecisions)
•   Renderer: Fixed an issue with setting custom shaders when objects were using just one material for all parts while having more than one part
•   Renderer: Fixed a minor regression with the high contrast shader
•   Renderer: Removed a good chunk of dead/redundant code
•   Nuklear: Fixed a memleak that would degrade long play sessions
•   VM: Fixed crash when calling DestroyArea() on a invalid object.
•   VM: Stopped ExecuteScriptChunk from writing “!chunk.ndb” to override.
•   VM: sqlite commands: Added missing newline in log output.
•   VM: Fixed issue in string handling (also: VM: SubString()) that would have resulted in memory leaks or crashes.
•   Game: Don’t use weapon AB for ranged touch attacks anymore.
•   Fixes to passive attack target selection. This should address Cleave etc. sometimes failing to find a followup target. #172
•   Game: Effect Miss Chance/Blind Fighting: Fix erroneous re-roll against target concealment, fix effect being ignored against blind fighting. #15
•   Game: Fixed error in levelup validation related to SkillpointModifierAbility being starred out #180
•   Game: Fixed ResistSpell() when called from AOE spell scripts.
•   Game: Fixed classstat modifiers applying incorrectly to polymorph. #185
•   Fixed the DM flag being set incorrectly on player characters when copying files around. #216
•   Fixed a rare crash in game object update netcode when writing out the party state of a player that just exited
•   Fixed a loop wraparound overflow game hang/crash when removing effect icons
•   Game: Fixed a crash when the game tried to write a log entry as it was shutting down
•   Emitters: fixed them not interpolating if not both size_y start and end were set (correct behaviour is to do if either is non-zero)
•   Game: Never allow the window size to shrink below (100, 100). This works around the case where the window was too small to spot or resize back up
•   Fixed a crash when clicking the Recommended button on chargen package selection with no packages available
•   Fixed a string type conversion error resulting in some empty strings in UI
•   http: Made http errors more verbose. Verbosity is Friend
•   Fixed nwsync-enabled savegames not loading due to missing TLK error
•   Input: Character input is now correctly converted from the language charset. This should address broken polish text input
•   NUI: Fixed codepage glyphs cutting text off due to incorrectly-set codepage.
•   NUI: Fix window flickering from (0,0) to center pos on first frame after opening.
•   NUI: Fix window sometimes scaling down to (0,0).
•   NUI: Pressing Escape now closes the currently focused window.
•   NUI: Fixed UI not properly hiding when pressing Alt-F4/X to close the game.
•   NUI Skinning: Made font white in all widgets, instead of grey.
•   NUI Skinning: Skinned text input box.
•   NUI Skinning: Title bars now look like native windows.
•   NUI Skinning: Close/Minimise buttons match native style.
•   NUI Skinning: Fixed combo box style.
•   NUI Skinning: Window and group borders are now rendered 9-sliced.
•   NUI Skinning: Fixed scrollbars not aligning properly.
•   NUI: Fixed windows not properly auto-centering when ui-scaled.
•   NUI: Fixed line fitting code to no longer repeat words when word-wrapping; improved performance to only do line flowing once.
•   NUI/GUI: Fixed TTF font rendering for Polish. #191 #235
•   GUI: Fixed input caret; now back with extra cyan and more blinkage.
•   GUI: Fixed password input box not accepting your passwords, no matter how good they were.
•   Movie player: Optimised so it doesn’t create the movie texture as often.
•   Toolset: Fixed floating point drifting for X/YOrientation
•   Toolset: Now reads DEVELOPMENT: (but it might not live-reload the same as the game would).
•   Toolset: Fixed some backgrounds not filling the full icon pane. #240
•   Linux: Fixed exclusive(fullscreen) and borderless window modes.
•   ResMan: Fixed crash that could happen when exiting the game, especially seen after failing to load a savegame.
•   Renderer: Restore the check for bumpshinytexture, fixing regression where meshes appeared transparent or invisible #298
•   Renderer: Fixed static lights not updating properly. #290
•   Config UI: Don’t show horizontal scrollbar when UI scaled.
•   VM: Fixed SetColor() not updating in some cases (such as heads/hair)
•   Savegames: When loading a savegame with a missing manifest, attempt to load the newest manifest of the same UUID instead (upgrade path for New Game UI modules). Emit a message to the client log indicating such - no UI support for showing this yet.

Known Issues
Steam Workshop | Modules in the Steam Workshop do not show in the game launcher

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on July 08, 2021, 11:23:09 PM
New Patch Arrives Today: Stable Build 8193.28 is Live!
Thu, 8 July 2021

Stable Build 8193.28 just released for Neverwinter Nights: Enhanced Edition


Hello, dear community!

We just released a small update for Neverwinter Nights: Enhanced Edition. Thank you all for your continued support— read on for details!
Today's patch (aka Revision 28) includes:

•   Toolset:
Fixed a crash when rendering some custom content.
•   Nuklear/Nui:
Fixed line breaks with non-ASCII characters: Module descriptions for polish and russian should now wrap properly.
•   LoadAliases:
Fixed DOCINSTALL not working on some systems (Options -> Open Source Licences tab was empty).
•   Movies:
Fixed EndMovie() not working for nwsync-sourced content, such as Eye of the Beholder (because the manifest had already been unloaded).


If you are feeling adventurous, why not give the development build a try, with many more fixes and features in it?!
Game

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on July 23, 2021, 11:35:52 PM
Development Build 85.8193.30
Fri, July 23, 2021


Hello, dear friends!

Today, we have a development build for you. We appreciate your assistance in testing it, and reporting any issues you find.

The module compatibility has once again been bumped - to version 1.85 - due to the new script commands that allow tile/area actions in the radial menu, and a bit more GUI modification.

Fixes
•   Renderer: Disabled soft particles on world-aligned emitters; fixes faded/missing effects such as spell mantle.
•   Renderer: TSB are now generated correctly for animated/danglies.
•   Renderer: Removed creature preloading code; it was doing nothing useful on desktop platforms.
•   Renderer: Drawbucket implementation for caching transform lists; also fixes additive blending render issues (such as water making visual effects wavy; water showing geometry from own model).
•   Renderer: Fixed highlight gobs ("tab glow") not correctly scaling along visual transforms.
•   Renderer: Fixed static placeables incorrectly disabling/breaking animations of non-static placeables with the same model.
•   Game: Fixed a memleak in pathfinding.
•   Game: Fixed placeables not bumping creatures out of the way when being spawned into an area. #349
•   Game/VM: Fixed Get*DurationRemaining returning the wrong value due to time overflow.
•   Game: Fixed a rare crash when exiting the game while a NWSync download is in progress.
•   Startgame UI: Fixed URL escaping for URLs with long paths.
•   Startgame UI: Removed superfluous text warnings about "Clicking link opens browser".
•   Startgame UI: Improvements to the promotion panels for custom repositories.
•   Startgame UI: Images loaded in the new content browser are now correctly served from cache if no internet connection is available.
•   UI: Put most hardcoded strings in StartGame, NWSync and Config panels into the tlk (not translated yet).
•   Config: On Windows, codepage is now auto-detected from the system locale.

Tile/Radial actions, surfacemat.2da
•   You can now assign custom radial actions on tiles (There is a new module event you can access via SetEventScript).
•   surfacemat now support 64 materials, up from 32.
•   surfacemat.2da is re/loaded as part of custom content.

// Gets the ID (1..8) of the last tile action performed in OnPlayerTileAction
int GetLastTileActionId();

// Gets the target position in the module OnPlayerTileAction event.
vector GetLastTileActionPosition();

// Gets the player object that triggered the OnPlayerTileAction event.
object GetLastPlayerToDoTileAction();

New Script Commands
You can now pop up or restrict GUI panels.

We added a event that triggers clientside interaction with some panels (There is a new module event you can access via SetEventScript).
int GUI_PANEL_PLAYER_DEATH = 0;
int GUI_PANEL_MINIMAP = 2;
int GUI_PANEL_COMPASS = 3;
int GUI_PANEL_INVENTORY = 4;
int GUI_PANEL_PLAYERLIST = 5;
int GUI_PANEL_JOURNAL = 6;
int GUI_PANEL_SPELLBOOK = 7;
int GUI_PANEL_CHARACTERSHEET = 8;

int GUIEVENT_CHATBAR_FOCUS = 1;
int GUIEVENT_CHATBAR_UNFOCUS = 2;
int GUIEVENT_CHARACTERSHEET_SKILL_CLICK = 3;
int GUIEVENT_CHARACTERSHEET_FEAT_CLICK = 4;
int GUIEVENT_EFFECTICON_CLICK = 5;
int GUIEVENT_DEATHPANEL_WAITFORHELP_CLICK = 6;
int GUIEVENT_MINIMAP_MAPPIN_CLICK = 7;
int GUIEVENT_MINIMAP_OPEN = 8;
int GUIEVENT_MINIMAP_CLOSE = 9;
int GUIEVENT_JOURNAL_OPEN = 10;
int GUIEVENT_JOURNAL_CLOSE = 11;
int GUIEVENT_PLAYERLIST_PLAYER_CLICK = 12;
int GUIEVENT_PARTYBAR_PORTRAIT_CLICK = 13;
int GUIEVENT_DISABLED_PANEL_ATTEMPT_OPEN = 14;

// Gets the player that last triggered the module OnPlayerGuiEvent event.
object GetLastGuiEventPlayer();

// Gets the last triggered GUIEVENT_* in the module OnPlayerGuiEvent event.
int GetLastGuiEventType();

// Gets an optional integer of specific gui events in the module OnPlayerGuiEvent event.
// * GUIEVENT_CHATBAR_*: The selected chat channel. Does not indicate the actual used channel.
// 0 = Shout, 1 = Whisper, 2 = Talk, 3 = Party, 4 = DM
// * GUIEVENT_CHARACTERSHEET_SKILL_SELECT: The skill ID.
// * GUIEVENT_CHARACTERSHEET_FEAT_SELECT: The feat ID.
// * GUIEVENT_EFFECTICON_CLICK: The effect icon ID (EFFECT_ICON_*)
// * GUIEVENT_DISABLED_PANEL_ATTEMPT_OPEN: The GUI_PANEL_* the player attempted to open.
int GetLastGuiEventInteger();

// Gets an optional object of specific gui events in the module OnPlayerGuiEvent event.
// * GUIEVENT_MINIMAP_MAPPIN_CLICK: The waypoint the map note is attached to.
// * GUIEVENT_CHARACTERSHEET_*_SELECT: The owner of the character sheet.
// * GUIEVENT_PLAYERLIST_PLAYER_CLICK: The player clicked on.
// * GUIEVENT_PARTYBAR_PORTRAIT_CLICK: The creature clicked on.
// * GUIEVENT_DISABLED_PANEL_ATTEMPT_OPEN: For GUI_PANEL_CHARACTERSHEET, the owner of the character sheet.
object GetLastGuiEventObject();

// Disable a gui panel for the client that controls oPlayer.
// Notes: Will close the gui panel if currently open.
// Does not persist through relogging or in savegames.
// Will fire a GUIEVENT_DISABLED_PANEL_ATTEMPT_OPEN OnPlayerGuiEvent for some gui panels if a player attempts to open them.
// You can still force show a panel with PopUpGUIPanel().
// * nGuiPanel: A GUI_PANEL_* constant, except GUI_PANEL_PLAYER_DEATH.
void SetGuiPanelDisabled(object oPlayer, int nGuiPanel, int bDisabled);

Tyrants of the Moonsea
•   one dialog branch in Hlesson's conversation breaks his quest
•   fixed a rare situation in the Marel fight where the exit door wouldn't open
•   removed Sharalyn's Cloud of Bewilderment spell because it caused in-party hostility
•   the Kur-Tharsu areas are now "No PVP" to reduce in-party hostility

Darkness over Daggerford
•   a cutscene in smuggler's cave sometimes did not trigger
•   a cutscene in smuggler's cave sometimes was aborted early

Known Issues
•   The toolset tilefade setting "Always" doesn't work correctly.


Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 16, 2021, 11:29:48 PM
Development Build 85.8193.31
16 Sept 2021

(https://cdn.akamai.steamstatic.com/steam/apps/704450/ss_ae79dcee2c425095af7504f6513b82c2b14b4aec.1920x1080.jpg)

Hello friends!
 
How have you been doing? The Beamdog team has been hard at work on the next Neverwinter Nights: Enhanced Edition patch! Today, we are shipping release 8193.31 to the development branch of NWN:EE.
 
This is a huge beta patch, with many new and exciting features. We appreciate your assistance in helping us test them, and reporting any/all issues you find.
 

Highlights

Significant renderer performance improvements & better shadows.
 
New Curated Content: A Hunt Through The Dark, by Markus Schlegel.
 
Scriptable UI.
 
Apple M1.
 
Many other new features, script commands & fixes. https://steamcommunity.com/games/704450/announcements/detail/4937623885470421006


 
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 22, 2021, 11:56:13 PM
Patch 8193.32: Apple M1 support, Performance Improvements & more!
Wed, September 22, 2021

Greetings, Neverwinter Nights players and modders!

Today we’re releasing Patch 8193.32 for Neverwinter Nights: Enhanced Edition! This update brings dozens of bug fixes and new features— including some exciting updates for content creators! Curated community content is also getting a new addition: A Hunt Through The Dark, by Markus Schlegel!

Patch Highlights
•   Renderer
 | Significant performance improvements & better shadows
•   New Curated Content
 | Play as a drow in Markus Schlegel’s campaign, A Hunt Through The Dark
•   Scriptable UI | Module authors can now create custom UI panels!
•   Apple M1 support
 | Owners of Apple M1 devices now will have a much better experience playing NWN:EE!
•   More than 100 fixes
 | Many other new features, script commands & fixes

Changes over build .31

This build is following the beta build from last week, and includes the following changes on top of it:


•   Renderer: Fixed SetTextureOverride() not working for custom content.
•   Nui/Scriptable UI: Fixed combo() widget not decoding UTF8 correctly.
•   ResMan: Fixed RESTYPE_JUI having the wrong ID, and added to nwscript.nss.
•   nwscript.nss: Minor text/documentation updates.

Renderer Improvements

Many improvements have been made to the rendering and shadows engine:

•   Greatly reduced the amount of CPU time spent on rendering shadows (50-90% less) by moving more work to the shaders and just doing things more intelligently.
•   Reduced buffer transfers related to rendering shadows (perf+)
•   Fixed some common shadow rendering issues related to "behind" stencil tests. It does not fix every issue, however, and in rare cases, some issues may become more apparent - but all in all, the benefits should outweigh the drawbacks. The old approach can be restored with using "shadowfliporder 1" in the console.
•   Shadow and beam volumes now use their own unique shaders.
•   Fixed a number of other shadow rendering issues by doing view frustrum clipping in the vertex shaders. This (beyond improving performance) alleviates issues with shadows sometimes being cut off in odd places (and similar).
•   The game now uses tiledata bounding box to determine lower clip of shadow volumes. This fixes shadows not being applied to geometry below the z position of the tile.
•   The game now adjusts shadow alpha based on the vertical distance between the shadow plane used for drawing projections and the projection source. This gives a more correct shading.
•   Removed the “experimental optimized shadow rendering” toggle. It is now always enabled.
•   Added some minor refinements that help reduce the visual oddities caused by shadows being projected by erroneous models.
•   Fixed dynamic shadow rendering performance dropping significantly on certain devices due to the new streaming setup.
•   Added new debug outputs that help content artists to debug models from within the game. This includes rendering mesh bounding boxes, pivots (centers), emitter and light ranges, as well as shadow volumes. The options are accessible through the normal debug panel (ctrl+shift+f12).
•   Optimized generation of shadow volumes to better fit the size of the shadow plane used for rendering shadows. Improves performance in GPU limited situations.
•   Fixed an issue that made shadows fade out too quickly at low view angles.
•   Fixed an issue with the scene manager that made geometry culling less effective.
•   Made the game automatically downsize textures larger than the client GPU supports (instead of just failing to render).
•   Optimized the size of the baked font textures to minimize texture memory footprint.
•   Tweaked the subsurface light algorithm and made the normal debug outputs also apply for water.
•   Removed some redundant GPU data buffer uploads.
•   Fixed soft particles reading the screen depth at an offset position, resulting in occasional halos appearing around objects.
•   Fixed automatic tile texture rotation (`rotatetexture 1`) causing normal and displacement maps to malfunction.
•   Added a new console command ‘printvertexdata’. Prints an overview of the amount of memory currently used for vertex data (model geometry) to the client log.
•   Fixed rendering unlit models with envmap (chargen colour picker shader issue; Halaster model issue).
•   Fixed object view culling not respecting visual transforms, resulting in objects sometimes not appearing if transformed into view.
•   Fixed some static parts being removed after having been auto-combined, resulting in erroneous shadows for some static geometry.
•   Fixed skinmesh bone hierarchy to initial model layout. This solves certain issues caused by skinmeshed bodyparts being dynamically attached and removed.
•   Fixed low quality render mode darkening water too much.

Curated Content: A Hunt Through The Dark
by Markus Schlegel

(https://cdn.akamai.steamstatic.com/steamcommunity/public/images/clans/31261212/f616fbd966a6b4d6a3f07f133b39bdaaede5300e.jpg)

Presenting the classic six-part campaign by Markus Schlegel - A Hunt Through The Dark!
Did you ever want to play the dark side, the bad, the evil, the worst of all, the drow?
Take part in a hunting trip through the Underdark. It is on you to enslave goblins, betray comrades and spoil the plans of your leader Mistress Piwiewien – or not.

Scriptable UI

Modules can now spawn custom UI panels, either defined in NWScript or JSON datafiles.

•   The layouting is done via a constraints solver and currently presents as a row/layout flow.
•   Most native widget types available, including lower-level drawing primitives to create your own.
•   Data binding is two-way between clients and the module, and allows synchronising sliders, input fields, buttons, and window geometry/properties. Mouse input events are supported as well.
•   There is a new include file: nw_inc_nui.nss. There is also a demo script (nw_nui_demo.nss) that showcases some basic widget types. Finally, there is a more complex inspector example (nw_nui_insp.nss) that can show bind values for all open scripted windows.
•   See the mentioned include file and demo for starting points. The new nwscript.nss API is reproduced at the end of this document.

NWScript JSON Datatype Support

NWScript now has a new native datatype, `json`. The API is documented at the end of these notes.

The engine can also serialise game objects to/from json, similar to how the sql data binder works. There is a new data format “.caf” for area objects that combines .are and .git, so you can de/serialise areas into a single json object. The serialisation format is compatible with neverwinter.nim.

There is a small helper library in nw_inc_gff.nss so you can construct GFF data on the fly (e.g. dynamic area/object creation and spawning).

The API also supports JSON Pointer, Diff, Patch and Merge. The SQLite API has been amended for both Campaign DB and custom databases.

Other Features

•   Added more GUI events, some suppressible, when the player interacts.
•   Added device property queries to get player screen width height and scale.
•   Added VM commands to query the game resource manager.
•   PLT textures can now be phenotype-specific.
•   Added a setting that allows players to control their non-PC party members in the same way as DMs do (drag, ctrl+click, etc). This is off by default, and can be enabled in server settings.
•   Mac: Provided universal binary with a build for Apple M1. If you are on M1 and on Steam, you will have to launch the game directly, NOT via Steam, for the binary to run natively. Otherwise, it will run via Rosetta.
•   Mac only: GOG Galaxy SDK no longer supported on x64 and arm64 (no native M1 build for the library).
•   Mac only: Steam SDK/Workshop not supported on M1 (no native M1 build for the binary).
•   Toolset: Added support for custom caster classes.
•   Curated Content UI: Added support for promotion panels to show links to the Vault, Wikis, etc.

Smaller Changes

•   Script compiler now supports `\xFF` style escape sequences to put arbitrary bytes into a string literal. NB: \x00 will terminate the string, do not use.
•   Cleaned up ovr/, moved everything except scripts into keybif.
•   Debug UI: You can now use the RunScript/Chunk Debug UI in SP even when DebugMode is off (for testing convenience).
•   VM: Store/RetrieveCampaignObject, SqlBindObject, SqlGetObject, ObjectToJson, and JsonToObject now support an additional parameter; bSave/LoadObjectState; which handles local variables, effects, action queue and transition info (for doors and triggers).
•   Updated game credits for 2021, moved button out of OC Campaign to top level Movie menu.

Fixes

•   Game: Fixed savegames causing creatures in areas re-triggering the OnAreaEnter event. This was causing HotU chapter 3 to malfunction after saving and loading.
•   Game: Fixed a rare crash when doors were melee-attacked by a null creature (PW-specific crash).
•   Game: Fixed not storing fog clipping distance for areas when saving games.
•   Game: Fixed a crash when showing a polymorphed creature on the party bar.
•   Game: Fixed Steam Workshop modules not showing up if the .mod extension wasn’t all lowercase.
•   Toolset: Fixed inconsistencies with shadow rendering.
•   Toolset: Fixed second story tile fade in “Always” mode not working correctly.
•   Toolset: Areas are now considered modified when undo stack is changed
•   Toolset: Undo now works for mouse wheel object scaling
•   Toolset: Undo now works for Adjust Location dialog
•   Toolset: Fixed a crash when right-clicking a tile with a recently-selected creature on it.
•   Toolset: Fixed Replace All not working in backwards search mode.
•   VM: Fixed crash in CreateArea() due to heap-use-after-free
•   VM: Fixed a crash when SetResourceOverride was targeting a missing/invalid resource.
•   VM: Fixed a memleak every time CopyObject, CreateObject or CreateArea was called.
•   VM: Area serialisation: Do not save item state twice to GFF (this would needlessly duplicate temporary effects and local vars into savegames and serialised objects).
•   Framelimiter: Opening up the radial menu is no longer considered background/modal.
•   Nui: Fixed nuklear receiving input meant for the console.
•   Nui: Fixed nuklear eating mouse clicks that should go to the radial menu instead.

Tyrants of the Moonsea

•   Prevented use of the map inside the navigation cabin after traveling to a destination.
•   Covered some poor camera rotations when transitioning out of the sea map.
•   Removed an xp exploit in Ulblyn's conversation.

NWScript API Additions
https://steamcommunity.com/games/704450/announcements/detail/4937623885488560123

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on September 30, 2021, 11:48:20 PM
Patch 8193.33: Pathfinding Improvements & Bug Fixes
Thu, September 30, 2021

Greetings from the Neverwinter Nights team!

We’re pushing Build 85.8193.33 to the live branch!

Patch notes:
•   Fixed local multiplayer failing with error 110622
•   Fixed a crash when some PLT textures failed to load
•   Fixed area tile source lights showing up as red when they previously were off after a game save & load
•   Fixed some pathfinding regressions where creatures had difficulties leaving corridors/rooms
•   Fixed a crash in the GetPlayerDeviceProperty script call when passing in an invalid player object
•   Updated Steam SDK to version 152. This should fix the Mac M1 build not running natively when launched from Steam
•   Added a message box when the user directory fails to initialise (instead of crashing). This is most commonly caused by Antivirus preventing write access to the Documents directory

This will be the last stable patch in a while! We want to thank you all again for your continued feedback!

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on November 24, 2021, 12:03:23 AM
The HD Models & Textures Pack for Neverwinter Nights: Enhanced Edition
Tue, November 23, 2021

(https://cdn.akamai.steamstatic.com/steam/apps/704450/ss_ae79dcee2c425095af7504f6513b82c2b14b4aec.1920x1080.jpg)

Good day to all Neverwinter Nights adventurers!

Beamdog is happy to announce that after several years of hard work, Neverwinter Nights: Enhanced Edition
models of player characters and their equipment (armor, weapons and shields) have finally been remade! Thank you kindly for your patience and support over these years!♥️

(https://cdn.akamai.steamstatic.com/steamcommunity/public/images/clans/31261212/81f2202411265a99bf1678ae78a5ef38378c8834.png)

Attention: using remade models on lower-end machines can lead to potential problems with the game performance.

This is why we’ve decided to provide a separate link for all our players to download The HD Models & Textures Pack for Neverwinter Nights: Enhanced Edition (4.1 gb). This pack includes updated models of weapons and shields previously released as the Steam Workshop content.

(https://cdn.akamai.steamstatic.com/steamcommunity/public/images/clans/31261212/db7363d7f6148d795c807800beb503b030689850.png)

(https://cdn.akamai.steamstatic.com/steamcommunity/public/images/clans/31261212/4a84dc7fe94dfafe38755be25289b07183f75b33.png)

New models now support normal and spec information. All of these pieces can be further modded by the community, which is in line with the base game setup.


Download: https://files.beamdog.com/

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on November 29, 2021, 11:47:46 PM
Development Build 86.8193.34
Mon, November 29, 2021

Hello, friends.

Today, we ship build .34 to DEV. Please test it against your custom content and on your servers!


It contains:

Fixes
Apple M1: Fixed audio crackle when decoding mp3 files, including voiceovers.
Pathfinding: Fixed a case where pathing was bailed on too early, resulting in incorrect behaviour that was regressed in the previous patch.
Facelift tilesets tts02 tcm02: Addressed various texture and model issues.
ResMan: Fixed two memleaks where it wouldn’t release loaded data instances.
Renderer: Minor fixes to animation start consistency.
Renderer: Fixed animated skinmesh parts going out of sync/being one frame behind.
Renderer: Fixed rough surfaces having a milky sheen at some viewing aspects, especially when using height maps.


QoL Improvements
Game: Disable ctrl-drag selection box on clients when server.player-party-control is off (the default). Note that clients will have to reconnect if you toggle this setting while a game is up.
NWSync: Repositories are now collapsible in the main UI view; this state is remembered in settings.tml.
NWSync: Module versions can now hold a `localalias` field that is used to backreference for StartNewModule(“originalfilename”).
NWSync: Better support for repository-side statistics.
NWSync: Hide modules, campaigns and adverts with empty name labels.
NWSync: Don’t reject repository.json if advert buttons have empty labels and URLs.
Launch Game UI/Repo Manager: Fixed “Show Advert” checkbox label being cut off.
Launch Game UI: Fixed “Advert” panel type displaying a STRREF instead of text when no label is defined in repository.json.


Scriptable UI
Nui: Fixed crash when calling SetGroupLayout() with invalid data.
Nui: Fixed scrollbar size for textedit.
Nui: Text can now override border and scrollbars properties.
Nui: Fixed draw_list scissoring breaking succeeding widget rendering.
Nui: Fixed draw_list scissoring leaving a stale scissor on the GL stack for nested widgets.
Nui: Fixed entries in a list view not scissoring draw_list correctly when scrolling out of view.
Nui: list(): Fixed textedit() widget not working in lists.
Nui: list(): Scrollbars now configurable.
Nui: list(): Fix spacers not advancing row layout correctly.
Nui: Never allow binds to update during construction. This fixes list() array binds degrading to scalar values, among other.
Nui: textedit(): Fixed placeholder sometimes rendering on the succeeding widget instead.
Nui: textedit(): Fixed range event triggering too often or with wrong values.
Nui: Added demo code for spreadsheet UI.
Nui: Fixed “list” widget not showing a vertical scrollbar in AUTO mode.


Premium Modules
Tyrants of the Moonsea: Fixed ship's cabin navigation map occasionally disabling erroneously.

New Script Commands

Code: [Select]
// Returns the number of script instructions remaining for the currently-running script.
// Once this value hits zero, the script will abort with TOO MANY INSTRUCTIONS.
// The instruction limit is configurable by the user, so if you have a really long-running
// process, this value can guide you with splitting it up into smaller, discretely schedulable parts.
// Note: Running this command and checking/handling the value also takes up some instructions.
int GetScriptInstructionsRemaining();

// Returns a modified copy of jArray with the value order changed according to nTransform:
// * JSON_ARRAY_SORT_ASCENDING, JSON_ARRAY_SORT_DESCENDING
//    Sorting is dependent on the type and follows json standards (.e.g. 99 < "100").
// * JSON_ARRAY_SHUFFLE
//   Randomises the order of elements.
// * JSON_ARRAY_REVERSE
//   Reverses the array.
// * JSON_ARRAY_UNIQUE
//   Returns a modified copy of jArray with duplicate values removed.
//   Coercable but different types are not considered equal (e.g. 99 != "99"); int/float equivalence however applies: 4.0 == 4.
//   Order is preserved.
// * JSON_ARRAY_COALESCE
//   Returns the first non-null entry. Empty-ish values (e.g. "", 0) are not considered null, only the json scalar type.
json JsonArrayTransform(json jArray, int nTransform);

// Returns the nth-matching index or key of jNeedle in jHaystack.
// Supported haystacks: object, array
// Ordering behaviour for objects is unspecified.
// Return null when not found or on any error.
json JsonFind(json jHaystack, json jNeedle, int nNth = 0, int nConditional = JSON_FIND_EQUAL);

// Returns a copy of the range (nBeginIndex, nEndIndex) inclusive of jArray.
// Negative nEndIndex values count from the other end.
// Out-of-bound values are clamped to the array range.
// Examples:
//  json a = JsonParse("[0, 1, 2, 3, 4]");
//  JsonArrayGetRange(a, 0, 1)    // => [0, 1]
//  JsonArrayGetRange(a, 1, -1)   // => [1, 2, 3, 4]
//  JsonArrayGetRange(a, 0, 4)    // => [0, 1, 2, 3, 4]
//  JsonArrayGetRange(a, 0, 999)  // => [0, 1, 2, 3, 4]
//  JsonArrayGetRange(a, 1, 0)    // => []
//  JsonArrayGetRange(a, 1, 1)    // => [1]
// Returns a null type on error, including type mismatches.
json JsonArrayGetRange(json jArray, int nBeginIndex, int nEndIndex);

// Returns the result of a set operation on two arrays.
// Operations:
// * JSON_SET_SUBSET (v <= o):
//   Returns true if every element in jValue is also in jOther.
// * JSON_SET_UNION (v | o):
//   Returns a new array containing values from both sides.
// * JSON_SET_INTERSECT (v & o):
//   Returns a new array containing only values common to both sides.
// * JSON_SET_DIFFERENCE (v - o):
//   Returns a new array containing only values not in jOther.
// * JSON_SET_SYMMETRIC_DIFFERENCE (v ^ o):
//   Returns a new array containing all elements present in either array, but not both.
json JsonSetOp(json jValue, int nOp, json jOther);

// Returns the column name of s2DA at nColumn index (starting at 0).
// Returns "" if column nColumn doesn't exist (at end).
string Get2DAColumn(string s2DA, int nColumnIdx);

// Returns the number of defined rows in the 2da s2DA.
int Get2DARowCount(string s2DA);

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on May 25, 2023, 12:41:05 AM
New Patch Arrives Today: Stable Build 8193.35 is Live!
Wed, 24 May 2023

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/31261212/c754976f9678b835baf7dd7df46309bed38cbcf5.png)

Patch 8193.35 for Neverwinter Nights: Enhanced Edition releases today.

Patch made by the community NOT the devs

Hello adventurers!

Today we’re releasing a new update for Neverwinter Nights: Enhanced Edition. Patch 8193.35 is the result of a year-long love effort by community developers.

Patch Highlights
AOE Indicator | Spells and spell-like abilities now display a targeting indicator displaying their range and, if appropriate, their AOE shape and size
8 Multiclasses | Added support for up to 8 multiclasses, configurable per-module
Faster Load Times | Improved area load times by up to 100x (!)
News Section | Added an in-game News UI that shows upcoming patches and community news
Script-created UI Improvements | “NUI” (script-created UI) will no longer break input to the game (WASD, drag & drop)
Play NWN as a Cartoon | Added a new "Toon" post-processing shader as a graphical option
Goodies for Builders | Hundreds of new functions and goodies for module builders
Hundreds of Bugfixes & Optimizations | More bugs squashed

Check out the full patch notes here: https://nwn.beamdog.net/docs/

Join the community and provide feedback directly to development team members on Discord: https://nwn.beamdog.net/discord (Before posting, please take a moment to carefully read the introductory text in #welcome).

If you're currently subscribed to the development patch, you'll continue with the upcoming .36 patch cycle going forward. If you wish to stick to this stable release (.35), select the “default” branch in Steam/GOG Galaxy/BDC.

Thank you for your support!

Credits

This patch was made entirely by community members: Done entirely for personal enjoyment, out of good will, and with copious amounts of adhesive.

Development team:
clippy, Daz, Jasperre, Liareth, niv, Soren, tinygiant, virusman

With explicit thanks to:
The NWNDEV Discord folks. Your testing and support was and is invaluable.
The Neverwinter Vault.
Nereida and Zwerkules.
Everyone in the community!

Bonus Art

As a bonus, here is an updated key art picture for Neverwinter Nights: Hordes of the Underdark by Mike Sass, redrawn with more detail:

(https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans//31261212/dcf5c5a5c00088d0a5e1210b4f8c90c8d68efb30.png)

Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on July 26, 2023, 01:15:55 AM
Crimson Tides of Tethyr Enhanced Edition comes to the curated community content
Tue, 25 July 2023

(https://clan.akamai.steamstatic.com/images/31261212/dc790ca6c7b9ecca467a89a350bc96c1ab2e870d.png)

An Enhanced Edition of a classic NWN module Crimson Tides of Tethyr by Luke Scull is now in the game launcher

New curated community content in NWN:EE keeps expanding! An Enhanced Edition of a classic Neverwinter Nights module Crimson Tides of Tethyr by Luke Scull is now available in the game launcher!

(https://clan.akamai.steamstatic.com/images//31261212/7cbfeceb44d848faf9fa0d772a3169a64ce2f0c5.png)

A 20-hour adventure with a colorful cast of characters, epic war storyline, and tactically challenging encounters inspired by Baldur's Gate, this Enhanced Edition features rewritten dialogue, visual improvements, bug fixes, new systems and quality-of-life improvements, a new hour of gameplay content, and 100 new lines of voiced dialogue.



Check out more details here: http://curated.nwn.beamdog.net/#50034a83-aacd-4e2a-b7e7-c6e722ed7fb8
Title: Re: Neverwinter Nights: Enhanced Edition
Post by: Asid on December 06, 2023, 12:50:51 AM
New Development Build ready for testing
Tue, December 5

(https://cdn.cloudflare.steamstatic.com/steam/apps/704450/ss_74c9b9accea753316d637e03f25965002bddaa93.jpg)

Hey there everyone!

This release is being developed for personal enjoyment and out of goodwill for our fellow players and creators by unpaid software engineers from the NWN community:


- clippy, Daz, Jasperre, Liareth, niv, shadguy, Soren, Squatting Monk, tinygiant, virusman


To our fellow community:

Thank you all for keeping this shared adventure alive.

Highlights

    New HDR-bloom postprocessing effect accumulates overlapping effects more naturally and makes intense colors bleed into the surrounding pixels.
    Improvements to the gameplay UI, such as toggling object highlight by double-pressing TAB.
    Significant performance improvements across the board, both on servers and clients.
    Many new and improved scripting functions, including support for synchronised audio playback and improvements to the scriptable UI.
    Over a hundred bugfixes, including several notorious 20-year-old bugs, such as area objects sometimes showing up too late.
    Script compiler is now open source and available as a standalone tool at https://github.com/niv/neverwinter.nim.


See https://nwn.beamdog.net/docs/ for the full list of over 300 changes

(https://clan.cloudflare.steamstatic.com/images//31261212/db6589c5ec70a6882fde50a86255847961a4d163.gif)

You are cordially invited to join the NWN community developer Discord, here: https://nwn.beamdog.net/discord/

Kindly report issues you find at https://github.com/Beamdog/nwn-issues by following the instructions provided there.

(https://clan.cloudflare.steamstatic.com/images//31261212/1ce81cacc14ed50f2642c48d7a3353793dbc627c.gif)


.