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
// 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 = "");