NUI is the Nuklear User Interface that NWN:EE has. This is now partially exposed to modders to pop up windows on compatible clients.
The NUI system is driven primarily by JSON, but usually you use helper functions such as those in nw_inc_nui.nss
This page will cover some of the non-scripting side of NUI - for the actual functions check out the Lexicon.
NUI Hardcoded Elements
The look and feel of NUI elements are hardcoded, such as the colour scheme and general graphical files (arrows, checkboxes, buttons, outlines) used by the game for it. These can be overriden if applied in /override or /development on a client but needs to be present before a module is loaded, so not possible to put into nwsync or a hakpack.
Notably these are also used for the in game Options, New Module and NWscript/Debug panels.
These are generally in the bif file bd_nui.bif all prefixed "nui_" TGA files and some other graphics which are JPG and PNG which are used for the module panel.
New Image File Types
NUI allows loading of new file types previously unavailable, that can be added to hakpacks and nwsync:
- PNG - standard high quality lossless compressed image format
- GIF - can be animated, but otherwise a lossy compressed image format
- JPG - JPEG file a lossy photo-like image file, but much lower size then PNG or TGA/DDS
- WBM - WebM files, technically video so can be animated, but won't play sound.
- DDS - Added in 8193.36. Loaded only if no other valid files are found (so loaded last).
TGA can be loaded as normal, PLT is not supported however (if a DDS version of a TGA file exists, for instance, it just won't ever find the DDS version and loads the TGA one instead).
The order of priority for same-named files are: JPG > TGA > PNG > GIF > WBM > DDS