mirror of
https://github.com/cheat-engine/cheat-engine
synced 2026-08-15 02:26:08 -04:00
116 lines
3.7 KiB
ObjectPascal
Executable file
116 lines
3.7 KiB
ObjectPascal
Executable file
unit LuaStringlist;
|
|
|
|
{$mode delphi}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, lua, lualib, lauxlib;
|
|
|
|
procedure initializeLuaStringlist;
|
|
procedure stringlist_addMetaData(L: PLua_state; metatable: integer; userdata: integer );
|
|
|
|
implementation
|
|
|
|
uses luahandler, luaclass, luastrings;
|
|
|
|
function createStringlist(L: Plua_State): integer; cdecl;
|
|
begin
|
|
luaclass_newClass(L, TStringList.Create);
|
|
result:=1;
|
|
end;
|
|
|
|
function stringlist_getDuplicates(L: PLua_State): integer; cdecl;
|
|
var
|
|
stringlist: TStringlist;
|
|
begin
|
|
stringlist:=luaclass_getClassObject(L);
|
|
lua_pushinteger(L, integer(stringlist.Duplicates));
|
|
result:=1;
|
|
end;
|
|
|
|
function stringlist_setDuplicates(L: PLua_State): integer; cdecl;
|
|
var
|
|
stringlist: TStringlist;
|
|
a: integer;
|
|
begin
|
|
result:=0;
|
|
stringlist:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
stringlist.Duplicates:=TDuplicates(lua_tointeger(L,-1));
|
|
end;
|
|
|
|
|
|
function stringlist_getSorted(L: PLua_State): integer; cdecl;
|
|
var
|
|
stringlist: TStringlist;
|
|
begin
|
|
stringlist:=luaclass_getClassObject(L);
|
|
lua_pushboolean(L, stringlist.Sorted);
|
|
result:=1;
|
|
end;
|
|
|
|
function stringlist_setSorted(L: PLua_State): integer; cdecl;
|
|
var
|
|
stringlist: TStringlist;
|
|
a: integer;
|
|
begin
|
|
result:=0;
|
|
stringlist:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
stringlist.sorted:=lua_toboolean(L,-1);
|
|
end;
|
|
|
|
function stringlist_getCaseSensitive(L: PLua_State): integer; cdecl;
|
|
var
|
|
stringlist: TStringlist;
|
|
begin
|
|
stringlist:=luaclass_getClassObject(L);
|
|
lua_pushboolean(L, stringlist.CaseSensitive);
|
|
result:=1;
|
|
end;
|
|
|
|
function stringlist_setCaseSensitive(L: PLua_State): integer; cdecl;
|
|
var
|
|
stringlist: TStringlist;
|
|
a: integer;
|
|
begin
|
|
result:=0;
|
|
stringlist:=luaclass_getClassObject(L);
|
|
if lua_gettop(L)>=1 then
|
|
stringlist.CaseSensitive:=lua_toboolean(L,-1);
|
|
end;
|
|
|
|
procedure stringlist_addMetaData(L: PLua_state; metatable: integer; userdata: integer );
|
|
begin
|
|
strings_addMetaData(L, metatable, userdata);
|
|
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getDuplicates', stringlist_getDuplicates);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setDuplicates', stringlist_setDuplicates);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getSorted', stringlist_getSorted);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setSorted', stringlist_setSorted);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'getCaseSensitive', stringlist_getCaseSensitive);
|
|
luaclass_addClassFunctionToTable(L, metatable, userdata, 'setCaseSensitive', stringlist_setCaseSensitive);
|
|
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'Duplicates', stringlist_getDuplicates, stringlist_setDuplicates);
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'Sorted', stringlist_getSorted, stringlist_setSorted);
|
|
luaclass_addPropertyToTable(L, metatable, userdata, 'CaseSensitive', stringlist_getCaseSensitive, stringlist_setCaseSensitive);
|
|
end;
|
|
|
|
procedure initializeLuaStringlist;
|
|
begin
|
|
lua_register(LuaVM, 'createStringlist', createStringlist);
|
|
lua_register(LuaVM, 'createStringList', createStringList);
|
|
lua_register(LuaVM, 'stringlist_getDuplicates', stringlist_getDuplicates);
|
|
lua_register(LuaVM, 'stringlist_setDuplicates', stringlist_setDuplicates);
|
|
lua_register(LuaVM, 'stringlist_getSorted', stringlist_getSorted);
|
|
lua_register(LuaVM, 'stringlist_setSorted', stringlist_setSorted);
|
|
lua_register(LuaVM, 'stringlist_getCaseSensitive', stringlist_getCaseSensitive);
|
|
lua_register(LuaVM, 'stringlist_setCaseSensitive', stringlist_setCaseSensitive);
|
|
end;
|
|
|
|
initialization
|
|
luaclass_register(TStringList, stringlist_addMetaData);
|
|
|
|
end.
|
|
|