17 Commits

Author SHA1 Message Date
Quentin
3ad9306594 fix(lua): fix dynamic hooks/calls: (#3629)
- dynamic hook were never actually applied,
- rbx was getting trashed inside jit hook func
- dynamic hook cleanup on lua script unload
- support dynamic call
2024-08-28 23:39:01 +02:00
Arthur
0dd43e95b8 Redesign Script Patches for Lua (#3612)
* Refactor Script Patches for Lua

* Use update_all_patches_for_script instead of update and store script's joaat instead of its string
2024-08-22 19:52:02 +02:00
tupoy-ya
eecd20beaf feat(Lua)!: New Lua bindings (#3563)
* feat(Lua): Make independent imgui independent.
feat(Lua): Add a `pointer:set_address` binding.
feat(Lua): Added `menu_event.Wndproc` event.
fix(Lua): Fix `ImGui.SliderFloat3` binding.
fix(Lua Docs): Partially fixed auto generated documentation.
* fix(gui.cpp): include `lua_manager.hpp`.
* fix(lua_manager.hpp): Added `draw_less_dependent_gui` function.
* chore(Lua): Rename `add_independent_imgui` to `add_always_draw_imgui`.
* docs(menu_event): Added docs for Wndporc event.
* docs: Fixed a few more errors.
* add reasoning and use native underlying format

Co-authored-by: tupoy-ya <tupoy-ya@users.noreply.github.com>
Co-authored-by: xiaoxiao921 <837334+xiaoxiao921@users.noreply.github.com>
2024-08-14 08:40:09 +02:00
Quentin
95969031df feat: dynamicly hooking x64 functions from lua at runtime with arbitrary signatures. (#3301)
* feat: dynamicly hooking x64 functions from lua at runtime with arbitrary signatures.

* fix missing include

* c/c++ include system is a good system
2024-07-08 14:15:18 +02:00
Andreas Maerten
d5d36643e3 feat(LuaMgr): Disable and Enable scripts from UI and prevent crash when renaming the scripts/ dir. (#2493) 2023-12-13 23:19:52 +01:00
gir489
9025def4db Enabled strict sol for type safety and function enforcement. (#2502) 2023-12-10 12:51:29 +01:00
Quentin
22e2c36249 feat(lua): expose io.open (limited to scripts_config folder) (#2495) 2023-12-08 09:14:57 +01:00
Quentin
37296c1498 lua: sub folders support, check for .lua file extension, refactor and simplify internals. (#1775) 2023-07-22 13:05:43 +02:00
Quentin
73d23dd34b fix(lua): move bindings to cpp files (#1757) 2023-07-18 13:07:33 +02:00
Quentin
664b5c6c40 feat(lua): much more complete imgui bindings, allow lua imgui callbacks from outside yimmenu classic tabs through gui.add_imgui(func) but also inside yimmenu classic tabs through tab:add_imgui(func) (#1736) 2023-07-17 14:55:42 +02:00
Quentin
0417fbf0f9 fix(lua): better exception handling (#1734) 2023-07-16 23:32:34 +02:00
Quentin
0a5cca8c12 fix(lua) (#1697)
- sandbox stuff.
- Fix lua scripts that could run when their lua state was destroyed, causing chaos.
2023-07-13 09:36:13 +02:00
Quentin
76afd97185 Lua: can make new tabs from lua scripts, doc generation for available tabs to use (#1593)
* lua api: add globals.get_uint and globals.set_uint

* lua doc: remove duplicate function check as we can overload so it doesn't make sense

* lua doc gen: add support for parsing the tabs enum

* gui: custom lua tabs don't have a `func` rendering function but can still have elements to draw

* lua doc: update generated doc

* chore: code style

* chore: minor spelling mistake

* chore: code style

* gui_service: add runtime removal of tabs

* refactor: make it so that it's less likely defining tabs and their translation key in a wrong way.

* lua api: ability to add custom tabs to the gui from lua
2023-07-05 00:30:57 +02:00
Quentin
b44b2f04e6 Feat lua file watch (#1584)
* feat lua: file watcher for lua script file: reload scripts if they got changed since they were initially loaded
* feat lua auto reload: enable / disable the feature through the ui and settings
2023-07-02 22:32:46 +02:00
Quentin
4c71be4142 Lua doc (#1552) 2023-07-02 00:59:02 +02:00
Quentin
dc18216263 lua: change the way native functions are binded (#1543) 2023-06-27 20:13:05 +02:00
maybegreat48
03c1a96b67 Lua Scripting (#1334)
Closes #83
Fixes #1309
Fixes #1287
Fixes #1129 (actually fixed now)
2023-06-06 09:40:40 +02:00