diff --git a/src/ints/mouse.cpp b/src/ints/mouse.cpp index 511e0ad9..949dc7f9 100644 --- a/src/ints/mouse.cpp +++ b/src/ints/mouse.cpp @@ -26,6 +26,7 @@ #include "pic.h" #include "inout.h" #include "int10.h" +#include "bios.h" static Bitu call_int33,call_int74; @@ -93,7 +94,6 @@ static struct { Bit16s clipx,clipy; Bit16s hotx,hoty; Bit16u textAndMask, textXorMask; - Bit16u resy; float mickeysPerPixel_x; float mickeysPerPixel_y; @@ -324,11 +324,11 @@ void Mouse_CursorMoved(float x,float y) { mouse.mickey_y += dy; mouse.x += dx; - if (mouse.x>=mouse.max_x) mouse.x=mouse.max_x-1.0f; - if (mouse.x< mouse.min_x) mouse.x=mouse.min_x; + if (mouse.x>mouse.max_x) mouse.x=mouse.max_x; + if (mouse.x=mouse.max_y) mouse.y=mouse.max_y-1.0f; - if (mouse.y< mouse.min_y) mouse.y=mouse.min_y; + if (mouse.y>mouse.max_y) mouse.y=mouse.max_y; + if (mouse.y0) mouse.shown=0; DrawCursor(); break; @@ -481,22 +510,26 @@ static Bitu INT33_Handler(void) { break; } case 0x07: /* Define horizontal cursor range */ - if (reg_cx