The BEAMBLOG

Friday, January 12, 2018

NWN:EE Head Start Patch Notes v74.8154




Attention Head Start players! Neverwinter Nights: Enhanced Edition patch 8154 is ready to download in the Beamdog Client! Today’s patch focuses mainly on bug & memory leak fixes, but also sets a few things up for the future.

If you’ve been watching the NWN:EE Trello boards, we’re sure you’ve noticed the team’s been busy adding and organizing community recommendations suggested through the Beamdog forums.


If you’re not watching the NWN:EE Trello boards, what are you waiting for? Check out the Roadmap Board and the Input Board to see what the team is working towards!

Bug Fixes
  • Servers will not crash anymore when applying damage to a caster will trigger a Concentration check, but the originating player has left the server.
  • Servers will not read invalid memory anymore in OnApplyTrueSeeing if no blindness effects were present.
  • Servers will now update internal effect pointer housekeeping properly on Effect Removal. This fixes a rare case where a movement speed penalty would not go away after removing an ability penalty (and maybe others too).
  • A dozen memory leaks have been addressed.
Regression Fixes
  • Server will not crash anymore when you queue up a player character export and then the player leaves before the export runs.
  • Area instancing: Player- and DM-clients are now kept in sync properly about new/deleted areas (no more empty names).
  • Area instancing: Server will not crash anymore when areas are added/removed and internal exploration bitmap array goes out of sync.
  • Familiar/DM-possession: Server will not write to bordering memory anymore on unpossess when areas are added/removed and the player is in someone else’s body.
  • Area instancing: CopyArea should now copy all objects into the new area properly 
  • Area instancing: CopyArea will not create duplicate object IDs, sowing confusion.
  • Direct Connect UI Panel: We broke it in 8153, and now we fixed it again. 
Features
  • [VM] SetDescription(..): Limit bumped to 128KB. (Was: 8KB). Although we increased the size limit, we recommend keeping this as small as possible as this is sent to clients on each view.
  • [C++/Low-Level]: NWNXEntryPoint for Windows and macOS has been exported, paving the way to support it on those platforms. GetBuildNumber has been exported too, which will allow nwnx to fail gracefully on version mismatch, instead of catching fire.
New Script Commands
These new scripting commands allow more options for player minimap management. They go hand in hand with area instancing, as they will allow save/load of exploration states on a per-player-and-area basis (with some scripting).

// Sets if the given creature has explored tile at x, y of the given area.
// Note that creature needs to be a player- or player-possessed creature.
//
// Return values:
//  -1: Area or creature invalid.
//   0: Tile was not explored before setting newState.
//   1: Tile was explored before setting newState.
int SetTileExplored(object creature, object area, int x, int y, int newState);

// Returns whether the given tile at x, y, for the given creature in the stated area is visible on
// the map.
// Note that creature needs to be a player- or player-possessed creature.
//
// Return values:
//  -1: Area or creature invalid.
//   0: Tile is not explored yet.
//   1: Tile is explored.
int GetTileExplored(object creature, object area, int x, int y);

// Sets the creature to auto-explore the map as it walks around.
// Valid arguments: TRUE and FALSE.
// Does nothing for non-creatures.
// Returns the previous state (or -1 if non-creature).
int SetCreatureExploresMinimap(object creature, int newState);

// Returns TRUE if the creature is set to auto-explore the map as it walks around (on by default).
// Returns FALSE if creature is not actually a creature.
int GetCreatureExploresMinimap(object creature);

Writer

No comments:

Post a Comment