These errors in the toolset usually are not easy to diagnose. Here are some common ones with the potential fix.
Note, many of these errors will cause the Toolset to crash, forcing you to use Task Manager to close it. When you reopen the Toolset, it will give you a warning that it failed to close and will request if you want to restore from the backup. You will most likely want to say yes to this message, or you risk losing the backup permanently. The files for this are usually in your /Temp0 folder in your C:/Documents/<Your Username>/Neverwinter Nights/modules/ folder.
External Exception EEFFACE
Although you can usually click through this error, it will generate additional errors that eventually lock the Toolset, forcing the user to use Task Manager to close the Toolset application. It is a random error that appears to have a variety of causes (three documented so far):
- Attempting to load a module in the toolset and one of the associated HAK files is corrupt. El Grillo confirmed in this instance that it was caused by using NWPacker to save a HAK file even though its contents were not altered.
- Browsing creature appearances in the Creature Properties Window. The error occurs with both custom content and vanilla content. The repro in the Error Report filed on GitHub - EEFFACE error · Issue #369 · Beamdog/nwn-issues (github.com) - references spinning the mouse wheel to view appearances.
- Having a filename defined in an MTR file that is greater than 16 characters. In this case, the error is immediately followed by a Pure Virtual Function called error (see below) and then an Access Violation at address 614247D3 in module 'SOFT_OAL.DLL', read of address 93F39822 error (see below).
Virusman has indicated that error cause #2 may be linked to a memory leak when scrolling creature appearances. According to Virusman, "If you see this error, open Task Manage to check how much memory the toolset is using," I would then post that information in the comments on that issue report.
Pure virtual function called
This issue is caused by having a filename defined in an MTR file that is greater than 16 characters.
Recently, this issue has been linked to the External Exception EEFFACE error, occurring after clicking through that error. In this incident, the "Pure virtual function called" error was then followed by an Access Violation at address 614247D3 in module 'SOFT_OAL.DLL', read of address 93F39822 error.
List Index Out of Bounds Errors
This is typically caused by various issues, some of which me and others have been able to identify. It is sometimes followed by an "Access Violation" error (see below). In all cases, the Toolset will crash at this point, forcing you to use Task Manager to close it.
List Index Out of Bounds (60) errors are caused by having an ARE file set to use a Tileset that is no longer installed in the module.
Range Check Error
This is a SET file error caused by a mismatch between either the number of TILE or GROUP entries and the counts listed under TILES or GROUPS. It is immediately followed by an Access Violation Error at address 00A69595 in module 'nwtoolset.exe'. Read of address 00000004 (see below).
Access violation at address 69DC47D3 in module 'SOFT_OAL.DLL', read of address 951287D3.
This crash to the desktop is a direct result of the "Pure virtual function called" error described above.
Access Violation at address 614247D3 in module 'SOFT_OAL.DLL', read of address 93F39822
This error occurred as a direct result of the "Pure virtual function called error" described above. The "Pure virtual function called" error was proceeded by an "External Exception EEFFACE" error.
Access Violation at address 005DE1B9 in module 'nwtoolset.exe'. Read of address 0000000C
This hard crash - requiring you to CTRL+ALT+DELETE exit the Toolset - error occurs when you attempt to place a tile GROUP and the "Model" name listed in the SET file under TILE parameters points to a model that does not exist. Check that there are no typos in the "Model" name.
Access Violation at address 00A22653 in module 'nwtoolset.exe'. Read of address 00000000.
- When attempting to open the “Tile Properties” window.
- This error is caused by adding lines to lightcolor.2da.
- When attempting to open an Area.
- This error is caused by a bad entry in the .SET file for the tileset. Typically, the TILES and/or GROUPS counts are set below the number of tiles and/or groups defined in the .SET file.
- When attempting to paint a Tile Feature or Group into an Area. This error is typically caused by one or more of the following:
- The MDL file(s) for the tile(s) specified in the SET file is missing.
- The name of your model in your tileset's SET file is incorrect. Either the model isn't loaded in your HAK or you've made a typo typically. Check your spelling and make you've loaded the model. Perhaps you made an update and forgot to adjust in the SET file.
- The walkmesh (AABB) of your tile is beyond the bounds of a 10x10 tile. Check the walkmesh of your tile, making sure all edges and vertices of your tile are within the 10x10 limits.
- You have more than 10,000 faces in a model. This can cause many different errors including this one. Find ways to reduce the number of faces such as using a modifier such as Decimate, dissolving unnecessary smoothing vertices, splitting it up in multiple parts, or simply remake it from scratch using simpler meshes.
- The walkmesh (AABB) of the MDL file is screwed up and doesn't have the correct number of 'entrypoint' lines in the AABB list.". This last one comes courtesy of Merricksdad and may be specific to NWMax - the walkmesh is too-complex, causing part of the code loop in NWMax to fail to split. NWMax didn't error catch and just gave up instead. Could this also happen if the AABB lines in the MDL file don't match the WOK file?
NOTE: This error is sometimes preceded by a List Index Out of Bounds (60) error (see above).
Access Violation at address 00A69595 in module 'nwtoolset.exe'. Read of address 00000004.
This SET file error is immediately preceded by a Range Check Error (see above). In all cases, the toolset will crash, forcing you to use Task Manager to close it. It is caused by:
- The number of TILE or GROUP entries exceeds the TILES or GROUPS count defined in the SET file.
One of the GROUP entries defines a tile whose number exceeds the number of tiles defined under TILES.
- One of the tiles defined in the TILE list is misnumbered, either skipping a number without using a PADDED entry or repeating a number that has already been used.
Access Violation at address 00441D85 in module 'nwtoolset.exe'. Read of address 0000000C.
This can occur in the creature preview window when the MDL file for the selected appearance does not exist.
The message "The model for the specified appearance was not available" appears. On confimation, the access violation sometimes occurs.
No adverse consequences have been detected so far.
Access Violation at address ???? in module 'nwtoolset.exe'. Read of address ????.
Sorry, missed the AV code and debug info. I'll get it if this ever happens again.
This occurred because a placeable located in the area did not have an associated MDL file referenced in Placeables.2DA - missing because of a typo after editing the mdl name in the 2DA. Clicking OK on the Error Message that appeared allowed me to continue working in the Toolset but ALL of the placeables listed in the Area Tree on the left after the offending placeable had vanished from the viewport, allowing me to easily identify which placeable and MDL was causing the error.
Access violation at address 00A634BE in module 'nwtoolset.exe', read of address 00000012.
This access violation occurred for Builder_Anthony while working with a custom baseitems.2da that exceeded 255 rows.
I was able to recreate this error by deliberating damaging baseitems.2da by merging two rows into one super long row that exceeded the number of columns in the 2da. – Pstemarie
Access violation at address 009619FC in module 'nwtoolset.exe', read of address 00000040.
This access violation occurred when trying to open the Orc Fort DEMO module from https://neverwintervault.org/project/nwn1/prefab/area/orc-fort. The module uses CEP 2 and lists CEP 2.6 as a requirement. However, according to user Rafhot, the orc fort area opens fine with CEP 2.4 but will not open with any higher CEP version.
Behavior - Clicking through the error message twice allows the area to load, but the error message continue to appear no matter how many times you click <OK>.
Troubleshooting - Removing the GIC and GIT files from the /temp0 folder allowed the area to load. Thus, the issue lay with one of the objects placed in the area - the area uses standard doors and sounds but several custom CEP placeables. I believe the issue is caused by a placeable with a missing appearance.
Access violation at address 7910CBC6 in module 'nvogiv32.dll', read of address C0305F3F
According to user Imtherealthing, this access violation occurred when trying to open an area in the toolset, causing the toolset to lock up. If the area is entered using the game client, the client crashes as soon as the player approaches one portion of the area, generating a crash dump and log file.
The error was caused by a creature blueprint in the area that had an invalid class. According to Imtherealthing, he had moved a custom class to a new row in his classes.2da but had not updated the creature blueprint to reflect this change. Once the creature blueprint was updated, the issue was resolved.
Crash when Loading an Area (Nvidia).
This is caused by “Threaded Optimization” being turned on for the Toolset under “3D Settings” in Nvidia Control Panel.
- Open NVIDIA Control Panel
- Under “3D Settings,” select the PRGRAM SETTINGS tab
- Under “1. Select a program to customize,” choose Neverwinter Nights (toolset.exe)\
- Under “2. Specify options for this program,” set “Threaded Optimization” to OFF
- Check the setting for nwmain.exe (should be already set to OFF)
Camera Speed is too Fast (AMD).
This is caused by “Wait for Vertical Refresh” being turned ON in Radeon Settings.
- Open Radeon Settings
- Under the GAMING tab, select “NWN Toolset”
- Under “Wait for Vertical Refresh,” switch the setting to “Off, unless application specifies”
PLT Texture Coloring Doesn’t Update When Changed in Item Properties
When editing an item with a PLT texture (e.g., armor or cloaks), the color displayed in the preview window on the left doesn’t update.
This is caused by “Use Environment Mapping on Creatures and Items” being unchecked under “Toolset Options.”
SourceLights Remain “On” When Set to “Off” in Tile Properties
This odd behavior is caused by erroneously having sourcelights defined as a “Light” node in the MDL file (along with lighting parameters) instead of a “Dummy” node. Sourcelight nodes ONLY every have three parameters defined: Parent, Position, and Orientation.
Note, this is typically caused by CC makers copying a MainTileLight node for use a SourceLight node. SourceLights require no lighting parameters; their properties are inherited from FX_Flame01.MDL.
Tile Feature or Group Will Not Paint
When attempting to paint a Tile Feature or Group, all that appears is a red Selector Box instead of a preview render of the tile you are painting. This error is caused by an issue with the GROUPS entry for the feature/group in the .SET file. I have identified three common causes:
- The TILE list in the GROUPS entry is missing a tile.
- Count in the name of tiles should be equal to (cols*rows)-1
- First tile is Tile0 not Tile1
- Any tile you want to leave variable, set the tile index to -1
- First tile (bottom left), Tile0, cannot be index -1 because the first tile name is bound to the ITP file to track the tile use in groups
- The TILE list in the GROUPS entry is using a tile that is already specified in another GROUPS entry.
- First tile (bottom left), Tile0 must be unique because it is bound to the ITP file to track tile use in groups.
- Other tiles in a group can be reused
- The GROUPS entry in the ITP file is pointing to the wrong tile resref
- If a change has been made to the set file, changing a model filename, but the ITP has not yet been updated, then the group/feature cannot be placed.
- The SET file [GENERAL] section Transition value is set to 0
- Will cause an error when trying to place groups and features with shared corners because it cannot perform a proper corner height check
Door Appearance Missing When Editing a Door Object (Custom Tilesets)
This error is caused by the door model for a custom tileset not being defined in doortypes.2da. In the past, it was common practice for CC Creators to reference an already existing model rather than add an entry to doortypes.2da. You can either ignore the error or add a new entry to doortypes.2da. However, if you choose the second option, you will have to update the SET file to reference the correct model.
Note, this error only pertains to tileset specific door - those defined in the SET file by a Door= parameter other than Door=0. It does not apply to generic doors.
Script Editor Weird Characters Appearing
The toolset script editor may have odd characters appearing for new scripts even in a blank new module with no hakpacks:
The problem appears to be Windows 10 enabling the Beta UTF-8 setting below available in the old Control Panel:
Click on Change date, time, or number formats and find this, the tickbox should be UNTICKED and this might have to be done multiple times after a reboot to have it stick.
This is trying to insert loads of UTF-8 characters in files that should be old Windows CF-1252.