--- 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;