From 28b70eaee9d2d1b2b9d78ecd4d19bac13c8ba01b Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 18 Sep 2022 13:27:33 -0700 Subject: [PATCH] return map coords as a coord, not x, y, z --- library/LuaApi.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/library/LuaApi.cpp b/library/LuaApi.cpp index b556e5737..3a83f7aef 100644 --- a/library/LuaApi.cpp +++ b/library/LuaApi.cpp @@ -1525,8 +1525,12 @@ static int gui_getDwarfmodeViewDims(lua_State *state) static int gui_getMousePos(lua_State *L) { - Lua::PushPosXYZ(L, Gui::getMousePos()); - return 3; + auto pos = Gui::getMousePos(); + if (pos.isValid()) + Lua::Push(L, pos); + else + lua_pushnil(L); + return 1; } static const LuaWrapper::FunctionReg dfhack_gui_module[] = { @@ -2289,16 +2293,12 @@ static const LuaWrapper::FunctionReg dfhack_screen_module[] = { static int screen_getMousePos(lua_State *L) { - Lua::PushPosXY(L, Screen::getMousePos()); - return 2; + return Lua::PushPosXY(L, Screen::getMousePos()); } static int screen_getWindowSize(lua_State *L) { - auto pos = Screen::getWindowSize(); - lua_pushinteger(L, pos.x); - lua_pushinteger(L, pos.y); - return 2; + return Lua::PushPosXY(L, Screen::getWindowSize()); } static int screen_paintTile(lua_State *L)