Neverwinter Nights: Enhanced Edition

Neverwinter Nights: Enhanced Edition 85.8193.30

Version
85.8193.30
Version Date
July 23, 2021
Links

Patch Notes

Development Build 85.8193.30

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.