v1.1.0
New CPlugin ABI
There is a new ABI for writing nwnx4 plugins, that should be much simpler to implement for languages other than C++.
The new ABI is defined here: https://github.com/nwn2dev/nwnx4/blob/main/include/nwnx_cplugin.h
If you are writing a C or C++ plugin, you can directly include this file in your C / C++ project. Most compiled languages can generate C-compatible ABIs, so if your plugin is written in another language, you will need to "translate" this file for your language.
Currently there are two plugins that use the new CPlugin ABI:
- https://github.com/nwn2dev/nwnx4/tree/main/src/plugins/xp_example_cplugin: This C++ plugin is just an example and does nothing really useful (except validating ABI tests).
- https://github.com/nwn2dev/nwnx4-plugins-xp_rpc: This plugin written in Go replaces the xp_rpc plugin that was shipped with nwnx4 (see below).
nwnx_include.nss has been updated to provide additional functions for querying information about the new CPlugins.
Of course, the previous ABIs are still supported and older plugins will continue to be compatible with NWNX4.
Removed RPC
Unless you were using the xp_rpc plugin, these changes should not affect you.
- Removed RPC logging facilities
- RPC plugins could log message through the nwnx4 logging system to
nwnx.txt. This is no longer the case. - RPC plugins must now implement their own logging system, just like any other nwnx4 plugin
- RPC plugins could log message through the nwnx4 logging system to
- Removed the xp_rpc plugin
- The RPC plugin can now be found at https://github.com/nwn2dev/nwnx4-plugins-xp_rpc
Other changes
- Updated dependencies
- Added PDB files for debugging
- Fixed a bug where the nwn2server would not launch if the
parameterslist was too long - xp_pickpocket: Fixed the NWScript function
PickpocketContinueto reflect what it is supposed to do - xp_bugfix: version 1.0.73
- xp_sqlite: enabled SCORCO functions hooking for object storage