cheat-engine/Cheat Engine/luaheadersections.pas

89 lines
2.2 KiB
ObjectPascal
Raw Permalink Normal View History

unit LuaHeaderSections;
{$mode delphi}
interface
uses
Classes, SysUtils, lua, lualib, lauxlib, LuaHandler, cefuncproc, commonTypeDefs;
implementation
uses luaclass, LuaCollection, comctrls;
function headersections_add(L: PLua_State): integer; cdecl;
begin
luaclass_newClass(L, THeaderSections(luaclass_getClassObject(L)).add);
result:=1;
end;
function headersections_insert(L: PLua_State): integer; cdecl;
begin
if lua_gettop(L)>=1 then
begin
luaclass_newClass(L, THeaderSections(luaclass_getClassObject(L)).insert(lua_tointeger(L,1)));
result:=1;
end
else
result:=0;
end;
function headersections_delete(L: PLua_State): integer; cdecl;
begin
result:=0;
if lua_gettop(L)>=1 then
THeaderSections(luaclass_getClassObject(L)).delete(lua_tointeger(L,1));
end;
function headersections_getItem(L: PLua_State): integer; cdecl;
var
hs: THeaderSections;
index: integer;
begin
result:=0;
hs:=luaclass_getClassObject(L);
if lua_gettop(L)>=1 then
begin
index:=lua_tointeger(L,1);
luaclass_newClass(L, hs.Items[index]);
result:=1;
end;
end;
function headersections_setItem(L: PLua_State): integer; cdecl;
var
hs: THeaderSections;
s: THeaderSection;
index: integer;
begin
result:=0;
hs:=luaclass_getClassObject(L);
if lua_gettop(L)>=2 then
begin
index:=lua_tointeger(L,1);
s:=lua_ToCEUserData(L,2);
hs.Items[index]:=s;
end;
end;
procedure headersections_addMetaData(L: PLua_state; metatable: integer; userdata: integer );
begin
collection_addMetaData(L, metatable, userdata);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'add', headersections_add);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'insert', headersections_insert);
luaclass_addClassFunctionToTable(L, metatable, userdata, 'delete', headersections_delete);
luaclass_addArrayPropertyToTable(L, metatable, userdata, 'Items', headersections_getItem, headersections_setItem);
luaclass_setDefaultArrayProperty(L, metatable, userdata, headersections_getItem, headersections_setItem );
end;
initialization
luaclass_register(THeaderSections, headersections_addMetaData);
end.