The Plugin Interface

A DLL is an external library that adds functions to a program. Calling functions from a system DLL with lite-C is described under "DLLs and APIs". A plugin however is a special DLL that serves as an extension for adding new features to the engine and to the script language. Theoretically everything - MP3 or MOD players, another physics engine, another 3D engine or even another scripting language - can be added to the engine this way. Unlike normal DLLs that only export functions, plugins also have access to all engine functions, engine variables, and all user-defined lite-C or C-Script functions, variables, and objects.

For creating a plugin, a development system like VC++ or Delphi is required. DLL plugins work with all editions and can be distributed or sold to other GameStudio users. On our download and link pages at http://www.3dgamestudio.com you can find a lot of useful plug-ins created by GameStudio users.

The Plugin SDK is free under an Open Source license. That means you're free to develop and distribute any engine plugins as long as you include your source code in the distribution. You're also not allowed to distribute a DLL that can be used as a 'wrapper' for the library by providing access to the interface structures or to library functions from outside the DLL. Owners of the SDK license don't need to include the source code. The Plugin SDK license comes with the Pro Edition, and is also separately available for purchase in the Conitec online shop.

The Microsoft Visual C++- (2005 or .NET) development system is recommended for creating DLL plug-ins. Users have also provided libraries for Borland C++, C++ Builder, or Delphi, which are available on the download page. Please note that Conitec can not give support for user-provided libraries.

The DLL SDK contains an example project sampledll.dll to get you started. The engine functions themselves are described in the Script part of this manual. Script functions are the API for the DLL as well as for scripts, so you'll need to know them for creating DLL plug-ins.

The following description is for the plugins SDK included in the Gamestudio or lite-C folder. There is also an engine SDK, which however is for implementing the engine in own applications, and can not be used for creating plugins.

► latest version online