X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwinboard.c;h=c000f959ebcf3a2e2123e2858ed2b54a23e3b4c7;hb=489d11dd27f897a1e563713724358901822b1e26;hp=cd2e98cf78d1cb0b0581eb7a304ed8944bcdfdd9;hpb=1787d72dbd0f3ff703050df00dc6ebb5eebe14d7;p=xboard.git diff --git a/winboard/winboard.c b/winboard/winboard.c index cd2e98c..c000f95 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -3108,7 +3108,19 @@ MouseEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) dragInfo.lastpos = dragInfo.pos; } break; - + case WM_MOUSEWHEEL: + /* Mouse Wheel is being rolled forward + * Play moves forward + */ + if ((short)HIWORD(wParam) > 0) + if (forwardMostMove > 0 && currentMove != forwardMostMove) + ForwardEvent(); + /* Mouse Wheel is being rolled backward + * Play moves backward + */ + if ((short)HIWORD(wParam) < 0) + if (currentMove > 0) BackwardEvent(); + break; case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: ErrorPopDown(); @@ -3415,6 +3427,7 @@ WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) case WM_MBUTTONUP: case WM_RBUTTONUP: case WM_MOUSEMOVE: + case WM_MOUSEWHEEL: MouseEvent(hwnd, message, wParam, lParam); break; @@ -4072,6 +4085,26 @@ WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) * \*---------------------------------------------------------------------------*/ +/* + * Decent random number generator, at least not as bad as Windows + * standard rand, which returns a value in the range 0 to 0x7fff. + */ +unsigned int randstate; + +int +myrandom(void) +{ + randstate = randstate * 1664525 + 1013904223; + return (int) randstate & 0x7fffffff; +} + +void +mysrandom(unsigned int seed) +{ + randstate = seed; +} + + /* * returns TRUE if user selects a different color, FALSE otherwise */ @@ -6334,11 +6367,9 @@ DisplayMessage(char *str1, char *str2) VOID DisplayError(char *str, int error) { - FARPROC lpProc; char buf[MSG_SIZ*2], buf2[MSG_SIZ]; int len; - char *p, *q; - + if (error == 0) { strcpy(buf, str); } else {