diff --git a/source/engine/ffi.c b/source/engine/ffi.c index cdc8c638..e9128db8 100644 --- a/source/engine/ffi.c +++ b/source/engine/ffi.c @@ -460,6 +460,10 @@ duk_ret_t duk_cmd(duk_context *duk) { case 45: vect2duk(mouse_pos); return 1; + + case 46: + set_mouse_mode(duk_to_int(duk, 1)); + return 0; } return 0; diff --git a/source/engine/input.c b/source/engine/input.c index 50562e06..6aaeed69 100644 --- a/source/engine/input.c +++ b/source/engine/input.c @@ -100,6 +100,11 @@ static void mb_cb(GLFWwindow *w, int button, int action, int mods) call_input_signal(keystr); } +void set_mouse_mode(int mousemode) +{ + glfwSetInputMode(mainwin->window, GLFW_CURSOR, mousemode); +} + void input_init() { glfwSetCursorPosCallback(mainwin->window, cursor_pos_cb); diff --git a/source/engine/yugine.c b/source/engine/yugine.c index 232ac7f5..f3b55a4f 100644 --- a/source/engine/yugine.c +++ b/source/engine/yugine.c @@ -203,29 +203,6 @@ int main(int argc, char **args) { } } - - renderlag += elapsed; - - if (renderlag >= renderMS) { - renderlag -= renderMS; - window_renderall(); - } - - gameobjects_cleanup(); - - } - - renderlag += elapsed; - - if (renderlag >= renderMS) { - renderlag -= renderMS; - window_renderall(); - } - - gameobjects_cleanup(); - - } - renderlag += elapsed; if (renderlag >= renderMS) {