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_loadstream
introduced to load a chunk fromFile
, so other functions no longer have to read the code in Pawn. - Push-based parser usage.
lua_loader
initializes the parser,lua_write
is 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_setuserdata
to copy cells to Lua userdata objects.
YALP v0.4
- File marshalling for natives must be done explicitly, via
interop.tofile
andinterop.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.getnative
also now has afast
parameter 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.
exit
function 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.asfile
andinterop.asnewfile
to convert PawnFile
handles 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
interop
functions:tagname
,cellmin
,cellmax
. - New
debug
function:numresults
. - New
timer
functions:sleep
,wait
,waitticks
. - New
coroutine
function:resumehooked
. interop
changes: sequence tables will be marshalled as arrays (modifications are copied back after the call).heapalloc
has a new parameter specifying whether to zero the memory.varargs
is renamed tostruct
.timer
changes:parallelreg
renamed toparallelex
, order of arguments changed. Default count value was decreased to 256 from 100000.package
changes:require
looks into the "scriptfiles/lua" directory for Lua packages and into the "plugins/lua" for C packages.require
is also present even if thepackage
module 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_VERSION
global variable.