From be2b5f1897c5e8f00d7379fa2b22a4134be6e4a9 Mon Sep 17 00:00:00 2001 From: Eliandro <153942958+Eliandro4@users.noreply.github.com> Date: Fri, 5 Jun 2026 11:02:35 -0300 Subject: [PATCH] fix. some mouse builtins read & writes not being handled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit weirdly, mouse_lastbutton aint a constant 😭 --- src/vm_builtins.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/vm_builtins.c b/src/vm_builtins.c index 54c6f88c..aec3765c 100644 --- a/src/vm_builtins.c +++ b/src/vm_builtins.c @@ -911,6 +911,11 @@ RValue VMBuiltins_getVariable(VMContext* ctx, int16_t builtinVarId, const char* case BUILTIN_VAR_KEYBOARD_LASTKEY: return RValue_makeReal((GMLReal) runner->keyboard->lastKey); + case BUILTIN_VAR_MOUSE_BUTTON: + return RValue_makeReal((GMLReal) RunnerMouse_getButton(runner->mouse)); + case BUILTIN_VAR_MOUSE_LASTBUTTON: + return RValue_makeReal((GMLReal) RunnerMouse_getLastButton(runner->mouse)); + case BUILTIN_VAR_MOUSE_X: { GMLReal mouseRoomX, mouseRoomY; Runner_getMouseRoomPosition(runner, &mouseRoomX, &mouseRoomY); @@ -1362,6 +1367,10 @@ void VMBuiltins_setVariable(VMContext* ctx, int16_t builtinVarId, const char* na runner->keyboard->lastKey = RValue_toInt32(val); return; + case BUILTIN_VAR_MOUSE_LASTBUTTON: + runner->mouse->lastButton = RValue_toInt32(val); + return; + // View properties case BUILTIN_VAR_VIEW_XVIEW: { GMLCamera* camera = Runner_getCameraForView(runner, arrayIndex);