ft2-clone

Fasttracker 2 clone
Log | Files | Refs | README | LICENSE

commit 6de936ef684960570b2cde4805753103114ee3fd
parent da4dd26ac98ef4aab16f9da9825874958e9c542a
Author: Olav Sørensen <olav.sorensen@live.no>
Date:   Tue, 10 May 2022 18:12:39 +0200

Handle top-left corner as quit in fullscreen mode

Diffstat:
Msrc/ft2_mouse.c | 7+++++--
Msrc/ft2_mouse.h | 2+-
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/ft2_mouse.c b/src/ft2_mouse.c @@ -684,8 +684,8 @@ void mouseButtonDownHandler(uint8_t mouseButton) return; } - // mouse 0,0 = open exit dialog - if (mouse.x == 0 && mouse.y == 0) + // mouse 0,0 = open exit dialog (also make sure the test always works in fullscreen mode) + if (mouse.x == 0 && mouse.y == 0 || (video.fullscreen && (video.renderX > 0 || video.renderY > 0) && (mouse.rawX == 0 && mouse.rawY == 0))) { if (quitBox(false) == 1) editor.throwExit = true; @@ -845,6 +845,9 @@ void readMouseXY(void) mouse.buttonState = SDL_GetMouseState(&mx, &my); } + mouse.rawX = mx; + mouse.rawY = my; + if (video.fullscreen) { // centered fullscreen mode (not stretched) needs further coord translation diff --git a/src/ft2_mouse.h b/src/ft2_mouse.h @@ -20,7 +20,7 @@ typedef struct mouse_t bool firstTimePressingButton, mouseOverTextBox; int8_t buttonCounter, mode; int16_t lastUsedObjectID, lastUsedObjectType, lastEditBox; - int32_t x, y, lastX, lastY, xBias, yBias, setPosX, setPosY; + int32_t rawX, rawY, x, y, lastX, lastY, xBias, yBias, setPosX, setPosY; int32_t lastScrollX, lastScrollXTmp, lastScrollY, saveMouseX, saveMouseY; uint32_t buttonState; } mouse_t;