mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-21 19:51:49 +00:00
Fix from wjp for redraws and input during delays
svn-id: r17602
This commit is contained in:
parent
4b18be1cf7
commit
bec1acac06
@ -931,7 +931,7 @@ void inter_keyFunc(void) {
|
||||
|
||||
if (flag != 1) {
|
||||
if (flag != 2) {
|
||||
util_delay(flag);
|
||||
util_longDelay(flag);
|
||||
return;
|
||||
}
|
||||
|
||||
|
14
gob/util.cpp
14
gob/util.cpp
@ -175,6 +175,15 @@ void util_setMousePos(int16 x, int16 y) {
|
||||
g_system->warpMouse(x, y);
|
||||
}
|
||||
|
||||
void util_longDelay(uint16 msecs)
|
||||
{
|
||||
uint32 time = g_system->getMillis() + msecs;
|
||||
do {
|
||||
util_processInput();
|
||||
util_delay(10);
|
||||
} while (g_system->getMillis() < time);
|
||||
}
|
||||
|
||||
void util_delay(uint16 msecs) {
|
||||
g_system->delayMillis(msecs);
|
||||
}
|
||||
@ -198,7 +207,9 @@ void util_waitMouseUp(void) {
|
||||
int16 buttons;
|
||||
|
||||
do {
|
||||
util_processInput();
|
||||
util_getMouseState(&x, &y, &buttons);
|
||||
if (buttons != 0) util_delay(10);
|
||||
} while (buttons != 0);
|
||||
}
|
||||
|
||||
@ -208,7 +219,9 @@ void util_waitMouseDown(void) {
|
||||
int16 buttons;
|
||||
|
||||
do {
|
||||
util_processInput();
|
||||
util_getMouseState(&x, &y, &buttons);
|
||||
if (buttons == 0) util_delay(10);
|
||||
} while (buttons == 0);
|
||||
}
|
||||
|
||||
@ -246,7 +259,6 @@ void util_waitEndFrame() {
|
||||
if (timer_enabled) {
|
||||
do {
|
||||
time = util_getTimeKey();
|
||||
|
||||
} while (time - startFrameTime < frameWaitTime);
|
||||
} else {
|
||||
if (frameWaitTime - time > 0)
|
||||
|
@ -46,6 +46,7 @@ int16 util_checkKey(void);
|
||||
int16 util_getRandom(int16 max);
|
||||
void util_getMouseState(int16 *pX, int16 *pY, int16 *pButtons);
|
||||
void util_setMousePos(int16 x, int16 y);
|
||||
void util_longDelay(uint16 msecs);
|
||||
void util_delay(uint16 msecs);
|
||||
void util_beep(int16 freq);
|
||||
uint32 util_getTimeKey(void);
|
||||
@ -67,7 +68,7 @@ void util_clearPalette(void);
|
||||
void util_insertStr(const char *str1, char *str2, int16 pos);
|
||||
void util_cutFromStr(char *str, int16 from, int16 cutlen);
|
||||
int16 util_strstr(const char *str1, char *str2);
|
||||
void util_waitEndFrame(void);
|
||||
void util_waitEndFrame();
|
||||
void util_setFrameRate(int16 rate);
|
||||
|
||||
void util_listInsertBack(Util_List * list, void *data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user