Page tree
Skip to end of metadata
Go to start of metadata
Patch Version1.81.8193.17
Patch release date (PC)na
Patch release date (Others)
Patch release notes


Bugfixes for the last stable patch, changes for NWSync plus a new script function for setting current HP.

Patch Notes


  • Config: “Hide secondary story tiles” is now disabled by default.
  • Dynamic contrast shader now has config options for intensity and midpoint.
  • Depth of Field shader should now behave better; added configuration option for used focusing type.
  • Armour/metals are now rendered with more detail and less blotches.
  • Shadows now fade out more smoothly in relation to distance and height/angle.


  • Fixed the localisations not loading some keytable content (like voiceovers).
  • Lighting: Fixed an issue in the light range calculation that resulted in lights occasionally flicking off/on rather than fading out smoothly.
  • Renderer: Optimised renderer GL buffer handling.
  • Fix texture animations sometimes not animating. #68
  • Renderer: Fixed clear colour erroneously reverting to black when loading into an area if a game object was received at exactly the wrong time.
  • Fixed the water shader showing seams.
  • Water now always uses the env map.
  • Danglymesh is now properly frozen when the game is paused.
  • Grass: Fixed fade-in Z fighting/shimmering when viewing from above, fixed grass appearing abruptly instead of fading in smoothly.
  • Skyfade fog coloured model below the horizon now covers below area, so missing meshes and keyholing show a black backdrop.
  • Fixed minimap data being assigned incorrectly when deleting an area via VM::DestroyArea.
  • Fixed cloaks and robes not inheriting visual transform animation speed. #159
  • 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.
  • Model loader: Set mesh ambient and diffuse to vec3(1.0) by default.
  • NWSync command line args now verify the URL and Hash formats.
  • Debug UI: Fixed a client crash in the NWScript Widget when inputting a invalid object ID. #141
  • 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. #45
  • Fixed classstat ability modifiers sometimes not updating after a levelup (for example, for STR damage bonus).
  • Renderer: Fixed some erratic keyholing behaviour in certain situations.
  • Renderer: Reduced the number of shader reloads.


  • Toolset: Fixed shadow rendering with fog disabled.
  • Toolset: Fixed VFX emitters not rendering properly. #162
  • Toolset: Fixed some shadows not rendering properly.

Art Fixes

  • Fixed a crash in TNO01 Ship1 and Market Stall, Long: caused by too many mesh parts
  • 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
  • TNO01: Fixed chimney & window animations in Inn, Coach 2x2
  • Shields/Cloaks/Robes (all): 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. Compiled shield models
  • Skybox, Black: Added missing model
  • Restored the "Lightning Tiles" in TDE01, TNI02, and TSW01, added animloops for shutdown where needed
  • 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
    • Shadow, Mesh and Bounding Box fixes
    • 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)
    • 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)
    • Added half-dragon tail to Half-Dragon blueprint
    • Added missing texture for worldmap placeables
    • 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, added ambient/dynamic versions as with candles
    • Fixed a SQRT Domain error in TNO01 Boat (at last!)
    • Kochrachon: Fixed deformed arms & a floating "thumb"
  • Appearance.2DA
    • Curst Swordsman: Removed undesired environmental mapping
    • Kobolds/Goblins/Orcs/Golems/Giants/a few others: Added default environmental mapping
  • 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"


  • DoD: Fixed use node on the Daggerford Wagon in the dev hak

Using NWSync Serverside

The linux/macos nwserver binaries can now bootstrap from NWSync instead of having to have a copy of all hak data.

  • New argument -moduleurl, from which the module data will be sourced.
  • New optional argument -modulehash; which is considered to be `latest` if omitted.
  • You need to 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, same as on the client. It will auto-prune old data if the group_id matches, also same as the client. The rest is left up to you.

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