[Scummvm-cvs-logs] CVS: scummvm/gob inter.cpp,1.14,1.15 util.cpp,1.10,1.11 util.h,1.4,1.5

Eugene Sandulenko sev at users.sourceforge.net
Thu Apr 14 14:55:32 CEST 2005


Update of /cvsroot/scummvm/scummvm/gob
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2880

Modified Files:
	inter.cpp util.cpp util.h 
Log Message:
Fix from wjp for redraws and input during delays


Index: inter.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/inter.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- inter.cpp	13 Apr 2005 18:27:28 -0000	1.14
+++ inter.cpp	14 Apr 2005 21:53:37 -0000	1.15
@@ -931,7 +931,7 @@
 
 		if (flag != 1) {
 			if (flag != 2) {
-				util_delay(flag);
+				util_longDelay(flag);
 				return;
 			}
 

Index: util.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/util.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- util.cpp	13 Apr 2005 20:53:36 -0000	1.10
+++ util.cpp	14 Apr 2005 21:53:37 -0000	1.11
@@ -175,6 +175,15 @@
 	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 @@
 	int16 buttons;
 
 	do {
+		util_processInput();
 		util_getMouseState(&x, &y, &buttons);
+		if (buttons != 0) util_delay(10);
 	} while (buttons != 0);
 }
 
@@ -208,7 +219,9 @@
 	int16 buttons;
 
 	do {
+		util_processInput();
 		util_getMouseState(&x, &y, &buttons);
+		if (buttons == 0) util_delay(10);
 	} while (buttons == 0);
 }
 
@@ -246,7 +259,6 @@
 	if (timer_enabled) {
 		do {
 			time = util_getTimeKey();
-
 		} while (time - startFrameTime < frameWaitTime);
 	} else {
 		if (frameWaitTime - time > 0)

Index: util.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/util.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- util.h	9 Apr 2005 19:19:54 -0000	1.4
+++ util.h	14 Apr 2005 21:53:37 -0000	1.5
@@ -46,6 +46,7 @@
 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_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);





More information about the Scummvm-git-logs mailing list