Releases: IS4Code/YALP
Releases · IS4Code/YALP
YALP v1.1
- Added compatibility for older glibc versions.
- All Lua functions are properly exported, allowing use of Lua 5.3 modules that import them.
- Crash protection when a hook trampoline cannot be created.
YALP-MTA, a new companion plugin has also been created, allowing importing modules that use the MTA Lua module SDK.
YALP v1.0
YALP v0.5
- Minor fixes in file marshalling.
lua_loadstreamintroduced to load a chunk fromFile, so other functions no longer have to read the code in Pawn. - Push-based parser usage.
lua_loaderinitializes the parser,lua_writeis used to provide pieces of the code to it. - Many constants ported from the Lua API into Pawn. Results and arguments of functions are now properly tagged.
lua_pushuserdata,lua_getuserdata,lua_setuserdatato copy cells to Lua userdata objects.
YALP v0.4
- File marshalling for natives must be done explicitly, via
interop.tofileandinterop.closefile(to close the handle). This simplifies the native call code, and allows to control whether you want to destroy the file handle or not. - Increased performance when calling natives.
interop.getnativealso now has afastparameter that can increase the performance a little bit more when passing arguments to the native, but at the cost of potential incompatibility with some functions (that manipulate the stack). - The COD pointer was not set correctly for fake AMX instances, causing an assertion error on Linux.
YALP v0.3
- Pawn functions for controlling the Lua machine check the number of arguments.
exitfunction in the base package. It terminates any code that executes in the Lua machine and prevents any other code from running there, then deletes the machine as soon as possible.- Lua files can be passed into Pawn native functions. Every call creates a new copy of the original file handle (but with the same offset and access rights), which gets closed after the function is called.
interop.asfileandinterop.asnewfileto convert PawnFilehandles to Lua files. Both function create a copy of the file handle, but the first one deletes the original one as well, so it should be only used for functions which are meant to open files (without storing the result anywhere else).
YALP v0.2
- New base functions:
argcheck,optcheck,map,concat,exit. - New
interopfunctions:tagname,cellmin,cellmax. - New
debugfunction:numresults. - New
timerfunctions:sleep,wait,waitticks. - New
coroutinefunction:resumehooked. interopchanges: sequence tables will be marshalled as arrays (modifications are copied back after the call).heapallochas a new parameter specifying whether to zero the memory.varargsis renamed tostruct.timerchanges:parallelregrenamed toparallelex, order of arguments changed. Default count value was decreased to 256 from 100000.packagechanges:requirelooks into the "scriptfiles/lua" directory for Lua packages and into the "plugins/lua" for C packages.requireis also present even if thepackagemodule isn't loaded.- Tail-calling a C function will preserve the number of expected return values.
- Functions that stored upvalue lists will now allow storing more than 255 upvalues.
- Pawn native functions check the number of arguments.
- Plugin version is reported in the
YALP_VERSIONglobal variable.