diff --git a/ui/ui.cpp b/ui/ui.cpp index e60bbb8439..99075d99fe 100644 --- a/ui/ui.cpp +++ b/ui/ui.cpp @@ -36,6 +36,10 @@ void UIUpdateMouse(int i, float x, float y, bool down) { } else { uistate.mousepressed[i] = 0; } + if (uistate.mousedown[i]) + uistate.mouseframesdown[i]++; + else + uistate.mouseframesdown[i] = 0; uistate.mousex[i] = x; uistate.mousey[i] = y; diff --git a/ui/ui.h b/ui/ui.h index 0d790ea4eb..fa4da75820 100644 --- a/ui/ui.h +++ b/ui/ui.h @@ -81,8 +81,9 @@ private: struct UIState { int mousex[MAX_POINTERS]; int mousey[MAX_POINTERS]; - int mousedown[MAX_POINTERS]; - int mousepressed[MAX_POINTERS]; + bool mousedown[MAX_POINTERS]; + bool mousepressed[MAX_POINTERS]; + short mouseframesdown[MAX_POINTERS]; int mouseStartX[MAX_POINTERS]; int mouseStartY[MAX_POINTERS];