Neverwinter Nights: EE - Patch 8193.34

Redglyph

SasqWatch
Joined
Aug 29, 2020
Messages
5,378
Location
Good old Europe
Beamdog has released another patch for Neverwinter Nights: EE.

Patch 8193.34: Pathfinding, Renderer & Other QoL Improvements

Greetings, Neverwinter Nights players and modders!

A new PC patch for Neverwinter Nights: Enhanced Edition arrives today. This update brings new quality of life improvements and fixes a few regressions introduced by the previous stable update.

PATCH NOTES

[...]
More information.
 

Redglyph

SasqWatch
Joined
Aug 29, 2020
Messages
5,378
Location
Good old Europe
Details below:

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

Lucky Day

Daywatch
Joined
Oct 19, 2006
Messages
5,180
Location
The Uncanny Valley
Just an FYI this is a developer patch - basically what they call their betas.

But as you can see there's some neat stuff coming down the pipe.
 

Couchpotato

Burned Out Newsposter
Joined
Oct 1, 2010
Messages
29,379
Location
Spudlandia
I'm surprised as the last update hinted tech support was coming to an end. They did say a few small patches might get released and that was it for the game though.
 

Redglyph

SasqWatch
Joined
Aug 29, 2020
Messages
5,378
Location
Good old Europe
Just an FYI this is a developer patch - basically what they call their betas.

But as you can see there's some neat stuff coming down the pipe.

I know, when I saw the new dev features I thought you might be interested. Though you probably knew it before me. ;) And maybe @Couchpotato;, but I think you're not developing modules anymore?
 

Couchpotato

Burned Out Newsposter
Joined
Oct 1, 2010
Messages
29,379
Location
Spudlandia
I know, when I saw the new dev features I thought you might be interested. Though you probably knew it before me. ;) And maybe @Couchpotato, but I think you're not developing modules anymore?
Nope I fiddle around with the mod tool sometimes but the spark to create is gone. Same with NWN 2. Still one of their updates had news that updates were slowing down.

Maybe I'm just losing my mind lately with all the news.:biggrin:
 

Carnifex

SasqWatch
Joined
Oct 18, 2011
Messages
15,650
Location
Holly Hill, FL.
From what I remember from previous Beamdog releases, when the end of patches draws close you can expect quite a few to land. I suspect this will happen here as well, to the benefit of us all.
 

Lucky Day

Daywatch
Joined
Oct 19, 2006
Messages
5,180
Location
The Uncanny Valley
My bad, this was an official release. I knew they did a Dev build with the same number. It seems to have updated my Steam version without me even noticing.

There is one thing that is interesting to builders that is coming down the pipe. Its not the earth shattering kaboom out of nowhere that the HD texture pack is or the NUI though - just really good for builders.
I've signed up for a beta version. I'd tell you more but I don't know if they wouldn't like it until its official and I don't know if they'd want me too.

Niv, Soren, guys like that I can say will keep building on this as they have for years even without a paycheque.
 

Redglyph

SasqWatch
Joined
Aug 29, 2020
Messages
5,378
Location
Good old Europe
My bad, this was an official release. I knew they did a Dev build with the same number. It seems to have updated my Steam version without me even noticing.

There is one thing that is interesting to builders that is coming down the pipe. Its not the earth shattering kaboom out of nowhere that the HD texture pack is or the NUI though - just really good for builders.
I've signed up for a beta version. I'd tell you more but I don't know if they wouldn't like it until its official and I don't know if they'd want me too.

Niv, Soren, guys like that I can say will keep building on this as they have for years even without a paycheque.
No problem if they asked you to agree to an NDA, I don't think there are still many who develop modules here except you anyway :)
 
Last edited:

Carnifex

SasqWatch
Joined
Oct 18, 2011
Messages
15,650
Location
Holly Hill, FL.
When I tested for Beamdog several years ago, they were pretty strict about people keeping to the NDA's. I'm not even sure exactly how they policed the business, yet they did seem to catch most of the culprits.
 

Redglyph

SasqWatch
Joined
Aug 29, 2020
Messages
5,378
Location
Good old Europe
I'd respect an NDA for the principle, even if that's not policed.
In practice I suppose they're mostly concerned with people who have an audience like streamers and article writers.
 

Carnifex

SasqWatch
Joined
Oct 18, 2011
Messages
15,650
Location
Holly Hill, FL.
It's pretty simple to me, if you sign/agree to the NDA, you keep your yap shut. If you don't wish to do that, then abstain from testing. There's no grey here at all.
 
Top Bottom