diff -r 56d2f2d5aad8 -r 4feced261c68 hedgewars/LuaPas.pas --- a/hedgewars/LuaPas.pas Sun Jan 19 00:18:28 2014 +0400 +++ b/hedgewars/LuaPas.pas Tue Jan 21 22:38:13 2014 +0100 @@ -21,7 +21,9 @@ {$ENDIF} type +{$IFNDEF PAS2C} size_t = Cardinal; +{$ENDIF} Psize_t = ^size_t; PPointer = ^Pointer; @@ -55,12 +57,14 @@ @* of a function in debug information. ** CHANGE it if you want a different size. *) + const LUA_IDSIZE = 60; (* @@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. *) + const LUAL_BUFFERSIZE = 1024; @@ -70,6 +74,7 @@ ** CHANGE them if you want different prompts. (You can also change the ** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.) *) + const LUA_PROMPT = '> '; LUA_PROMPT2 = '>> '; @@ -113,6 +118,7 @@ ** See Copyright Notice at the end of this file *) + const LUA_VERSION = 'Lua 5.1'; LUA_VERSION_NUM = 501; @@ -132,8 +138,10 @@ LUA_ENVIRONINDEX = -10001; LUA_GLOBALSINDEX = -10002; + function lua_upvalueindex(idx : LongInt) : LongInt; // a marco + const (* thread status; 0 is OK *) LUA_YIELD_ = 1; // Note: the ending underscore is needed in Pascal @@ -142,6 +150,7 @@ LUA_ERRMEM = 4; LUA_ERRERR = 5; + type lua_CFunction = function(L : Plua_State) : LongInt; cdecl; @@ -156,6 +165,7 @@ *) lua_Alloc = function (ud, ptr : Pointer; osize, nsize : size_t) : Pointer; cdecl; + const (* ** basic types @@ -181,12 +191,13 @@ (* type for integer functions *) lua_Integer = LUA_INTEGER_; + (* ** state manipulation *) function lua_newstate(f : lua_Alloc; ud : Pointer) : Plua_State; cdecl; external LuaLibName; - + procedure lua_close(L: Plua_State); cdecl; external LuaLibName; function lua_newthread(L : Plua_State) : Plua_State; @@ -201,22 +212,22 @@ *) function lua_gettop(L : Plua_State) : LongInt; cdecl; external LuaLibName; - + procedure lua_settop(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_pushvalue(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_remove(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_insert(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_replace(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + function lua_checkstack(L : Plua_State; sz : LongInt) : LongBool; cdecl; external LuaLibName; @@ -229,57 +240,55 @@ *) function lua_isnumber(L : Plua_State; idx : LongInt) : LongBool; cdecl; external LuaLibName; - + function lua_isstring(L : Plua_State; idx : LongInt) : LongBool; cdecl; external LuaLibName; - + function lua_iscfunction(L : Plua_State; idx : LongInt) : LongBool; cdecl; external LuaLibName; - + function lua_isuserdata(L : Plua_State; idx : LongInt) : LongBool; cdecl; external LuaLibName; - + function lua_type(L : Plua_State; idx : LongInt) : LongInt; cdecl; external LuaLibName; - + function lua_typename(L : Plua_State; tp : LongInt) : PChar; cdecl; external LuaLibName; - function lua_equal(L : Plua_State; idx1, idx2 : LongInt) : LongBool; cdecl; external LuaLibName; - + function lua_rawequal(L : Plua_State; idx1, idx2 : LongInt) : LongBool; cdecl; external LuaLibName; - + function lua_lessthan(L : Plua_State; idx1, idx2 : LongInt) : LongBool; cdecl; external LuaLibName; function lua_tonumber(L : Plua_State; idx : LongInt) : lua_Number; cdecl; external LuaLibName; - + function lua_tointeger(L : Plua_State; idx : LongInt) : lua_Integer; cdecl; external LuaLibName; - + function lua_toboolean(L : Plua_State; idx : LongInt) : LongBool; cdecl; external LuaLibName; - - + function lua_tolstring(L : Plua_State; idx : LongInt; len : Psize_t) : PChar; cdecl; external LuaLibName; - + function lua_objlen(L : Plua_State; idx : LongInt) : size_t; cdecl; external LuaLibName; - + function lua_tocfunction(L : Plua_State; idx : LongInt) : lua_CFunction; cdecl; external LuaLibName; - + function lua_touserdata(L : Plua_State; idx : LongInt) : Pointer; cdecl; external LuaLibName; - + function lua_tothread(L : Plua_State; idx : LongInt) : Plua_State; cdecl; external LuaLibName; - + function lua_topointer(L : Plua_State; idx : LongInt) : Pointer; cdecl; external LuaLibName; @@ -289,36 +298,35 @@ *) procedure lua_pushnil(L : Plua_State); cdecl; external LuaLibName; - + procedure lua_pushnumber(L : Plua_State; n : lua_Number); cdecl; external LuaLibName; - + procedure lua_pushinteger(L : Plua_State; n : lua_Integer); cdecl; external LuaLibName; - + procedure lua_pushlstring(L : Plua_State; const s : PChar; ls : size_t); cdecl; external LuaLibName; - + procedure lua_pushstring(L : Plua_State; const s : PChar); cdecl; external LuaLibName; - - + function lua_pushvfstring(L : Plua_State; const fmt : PChar; argp : Pointer) : PChar; cdecl; external LuaLibName; - + function lua_pushfstring(L : Plua_State; const fmt : PChar) : PChar; varargs; cdecl; external LuaLibName; - + procedure lua_pushcclosure(L : Plua_State; fn : lua_CFunction; n : LongInt); cdecl; external LuaLibName; - + procedure lua_pushboolean(L : Plua_State; b : LongBool); cdecl; external LuaLibName; - + procedure lua_pushlightuserdata(L : Plua_State; p : Pointer); cdecl; external LuaLibName; - + function lua_pushthread(L : Plua_state) : Cardinal; cdecl; external LuaLibName; @@ -328,25 +336,25 @@ *) procedure lua_gettable(L : Plua_State ; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_getfield(L : Plua_State; idx : LongInt; k : PChar); cdecl; external LuaLibName; - + procedure lua_rawget(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_rawgeti(L : Plua_State; idx, n : LongInt); cdecl; external LuaLibName; - + procedure lua_createtable(L : Plua_State; narr, nrec : LongInt); cdecl; external LuaLibName; - + function lua_newuserdata(L : Plua_State; sz : size_t) : Pointer; cdecl; external LuaLibName; - + function lua_getmetatable(L : Plua_State; objindex : LongInt) : LongBool; cdecl; external LuaLibName; - + procedure lua_getfenv(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; @@ -356,19 +364,19 @@ *) procedure lua_settable(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_setfield(L : Plua_State; idx : LongInt; const k : PChar); cdecl; external LuaLibName; - + procedure lua_rawset(L : Plua_State; idx : LongInt); cdecl; external LuaLibName; - + procedure lua_rawseti(L : Plua_State; idx , n: LongInt); cdecl; external LuaLibName; - + function lua_setmetatable(L : Plua_State; objindex : LongInt): LongBool; cdecl; external LuaLibName; - + function lua_setfenv(L : Plua_State; idx : LongInt): LongBool; cdecl; external LuaLibName; @@ -377,16 +385,16 @@ *) procedure lua_call(L : Plua_State; nargs, nresults : LongInt); cdecl; external LuaLibName; - + function lua_pcall(L : Plua_State; nargs, nresults, errfunc : LongInt) : LongInt; cdecl; external LuaLibName; - + function lua_cpcall(L : Plua_State; func : lua_CFunction; ud : Pointer) : LongInt; cdecl; external LuaLibName; - + function lua_load(L : Plua_State; reader : lua_Reader; dt : Pointer; const chunkname : PChar) : LongInt; cdecl; external LuaLibName; - + function lua_dump(L : Plua_State; writer : lua_Writer; data: Pointer) : LongInt; cdecl; external LuaLibName; @@ -397,16 +405,17 @@ *) function lua_yield(L : Plua_State; nresults : LongInt) : LongInt; cdecl; external LuaLibName; - + function lua_resume(L : Plua_State; narg : LongInt) : LongInt; cdecl; external LuaLibName; - + function lua_status(L : Plua_State) : LongInt; cdecl; external LuaLibName; (* ** garbage-collection functions and options *) + const LUA_GCSTOP = 0; LUA_GCRESTART = 1; @@ -434,7 +443,7 @@ function lua_getallocf(L : Plua_State; ud : PPointer) : lua_Alloc; cdecl; external LuaLibName; - + procedure lua_setallocf(L : Plua_State; f : lua_Alloc; ud : Pointer); cdecl; external LuaLibName; @@ -532,25 +541,25 @@ function lua_getstack(L : Plua_State; level : LongInt; ar : Plua_Debug) : LongInt; cdecl; external LuaLibName; - + function lua_getinfo(L : Plua_State; const what : PChar; ar: Plua_Debug): LongInt; cdecl; external LuaLibName; - + function lua_getlocal(L : Plua_State; ar : Plua_Debug; n : LongInt) : PChar; cdecl; external LuaLibName; - + function lua_setlocal(L : Plua_State; ar : Plua_Debug; n : LongInt) : PChar; cdecl; external LuaLibName; - + function lua_getupvalue(L : Plua_State; funcindex, n : LongInt) : PChar; cdecl; external LuaLibName; - + function lua_setupvalue(L : Plua_State; funcindex, n : LongInt) : PChar; cdecl; external LuaLibName; function lua_sethook(L : Plua_State; func : lua_Hook; mask, count: LongInt): LongInt; cdecl; external LuaLibName; - + {$IFDEF LUA_GETHOOK} function lua_gethook(L : Plua_State) : lua_Hook; cdecl; external LuaLibName; @@ -558,7 +567,7 @@ function lua_gethookmask(L : Plua_State) : LongInt; cdecl; external LuaLibName; - + function lua_gethookcount(L : Plua_State) : LongInt; cdecl; external LuaLibName;