PasLua is a port of the original C header files for the Lua scripting language to Free Pascal.

About

PasLua has been created together with Langadia - a simple 2D/3D OpenGL and Free Pascal framework. Back then, we decided to make Lua the default scripting language used in Langadia, as Lua is lightweight and really fast. So, Lua is currently heavily used especially in game development and real time applications.

Download

PasLua can be downloaded via our Download Centre. The package there contains both the Free Pascal source files and the original C headers.

Features

PasLua - in contrary to e.g. the headers included in the official Free Pascal distribution - dynamically loads the Lua library and its functions at runtime. This is useful, as the header does not necessarily depend on every function still being present in the DLL. It is also usable, if you want to use Lua as a kind of “plug-in”, meaning: You do want to check, whether it is available at program run time and not compile time. However, this means also another call when initializing you application, to load the library and the function pointers. Beneath, it also cuts off compatibility to Delphi AFAIR (as PasLua uses FPCs dynamic library loading functions).

Version & License

The current version of PasLua has been chosen to resemble the appropriate version of Lua it is written for. So PasLua currently is available in version 5.1.3. It also uses the same license as Lua itself: the MIT License. This license gives you huge freedom, as it allows both the Open Source and commercial usage.

Important notice

PasLua is not really actively developed any more, as the (Pascal) Langadia project has been cancelled and NoManGames - the former developer - has closed it’s doors. However, PasLua is provided still, cause maybe it can still be useful to someone out there. If you encounter problems you can contact us (e.g. via our forum). If you ported PasLua to a newer version of Lua or fixed bugs, we would also be glad if you inform is - although you are not forced to do so ;-)