From 6d821cb36153756f1b81b93d16667a98fe3082ef Mon Sep 17 00:00:00 2001 From: mid <> Date: Wed, 14 Jan 2026 11:59:35 +0200 Subject: [PATCH] Expose remove_child function --- src/luaapi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/luaapi.c b/src/luaapi.c index 956cb51..ce33f3d 100644 --- a/src/luaapi.c +++ b/src/luaapi.c @@ -2095,6 +2095,17 @@ static int dagame_k3menuitem_add_child(lua_State *L) { return 1; } +static int dagame_k3menuitem_remove_child(lua_State *L) { + struct menuitem *parent = lua_touserdata(L, 1); + struct menuitem *child = lua_touserdata(L, 2); + + k3MRemoveChild(parent->ptr, child->ptr); + + lua_pushvalue(L, 1); + + return 1; +} + static bool k3menuitem_event_callback(struct k3MEvent *ev, uint8_t *ud_) { void **ud = ud_; @@ -2212,6 +2223,8 @@ static int dagame_k3menuitem_get(lua_State *L) { lua_pushcfunction(L, dagame_k3menuitem_set_bounds); } else if(!strcmp(lua_tostring(L, 2), "add_child")) { lua_pushcfunction(L, dagame_k3menuitem_add_child); + } else if(!strcmp(lua_tostring(L, 2), "remove_child")) { + lua_pushcfunction(L, dagame_k3menuitem_remove_child); } else if(!strcmp(lua_tostring(L, 2), "on")) { lua_pushcfunction(L, dagame_k3menuitem_on); } else if(!strcmp(lua_tostring(L, 2), "measure")) {