It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
Neverwinter Nights: Enhanced Edition & DLCs

Update 81.8193.16 (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.

The hotfix should address the issues for non-english versions of the game. Here is a list of the fixes from today's release:

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.
_______________________________________


Update 81.8193.15 (15 September 2020)

Lighting Engine Improvements
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.


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.


Tileset Additions:
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.)

Continued below ========>
high rated
Neverwinter Nights: Enhanced Edition & DLCs (continued)

Update 81.8193.16 (16 September 2020)

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:
| // 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 t<he new script command:
| // 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.
| // 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:
| // 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.
| // 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.
| // 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.

Continued below ========>
high rated
Neverwinter Nights: Enhanced Edition & DLCs (continued)

Update 81.8193.16 (16 September 2020)

Texture replacements
You can now replace individual textures on objects at runtime.
| // 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.
| // 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.


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);


Continued below ========>
high rated
Neverwinter Nights: Enhanced Edition & DLCs (continued)

Update 81.8193.16 (16 September 2020)

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


****END****
high rated
Neverwinter Nights: Enhanced Edition

Standalone installer updated: 81.8193.16 ⇒ 82.8193.20.

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!

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

Continued below =========>
Post edited December 18, 2020 by surfer1260
high rated
Neverwinter Nights: Enhanced Edition (continued)

Standalone installer updated: 81.8193.16 ⇒ 82.8193.20.

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);

***END***

https://nwn.wiki/display/NWN1/1.82.8193.20
https://www.beamdog.com/news/new-patch-arrives-neverwinter-nights-enhanced-edition/
Post edited December 18, 2020 by surfer1260
high rated
Neverwinter Nights: Enhanced Edition

Standalone installer updated: 82.8193.20 ⇒ 82.8193.20.1.

No Changelog