projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0229cbe
)
improved synchronization of other event loops
author
Holger Schemel
<info@artsoft.org>
Wed, 3 Feb 2016 00:05:22 +0000
(
01:05
+0100)
committer
Holger Schemel
<info@artsoft.org>
Wed, 3 Feb 2016 00:05:22 +0000
(
01:05
+0100)
src/screens.c
patch
|
blob
|
history
src/tools.c
patch
|
blob
|
history
diff --git
a/src/screens.c
b/src/screens.c
index 7b5aaf9d86a0063d45e35a861950e5966a38faa6..5327c458ccd65b57e31a499b6e9e8c311300d306 100644
(file)
--- a/
src/screens.c
+++ b/
src/screens.c
@@
-235,6
+235,9
@@
static TreeInfo *drop_distance_current = NULL;
static TreeInfo *level_number = NULL;
static TreeInfo *level_number_current = NULL;
static TreeInfo *level_number = NULL;
static TreeInfo *level_number_current = NULL;
+static unsigned int sync_frame_delay = 0;
+static unsigned int sync_frame_delay_value = GAME_FRAME_DELAY;
+
static struct
{
int value;
static struct
{
int value;
@@
-5598,8
+5601,7
@@
static Key getSetupKey()
DoAnimation();
BackToFront();
DoAnimation();
BackToFront();
- /* don't eat all CPU time */
- Delay(10);
+ WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
}
return key;
}
return key;
@@
-6286,8
+6288,7
@@
void CustomizeKeyboard(int player_nr)
DoAnimation();
BackToFront();
DoAnimation();
BackToFront();
- /* don't eat all CPU time */
- Delay(10);
+ WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
}
/* write new key bindings back to player setup */
}
/* write new key bindings back to player setup */
@@
-6442,8
+6443,7
@@
static boolean CalibrateJoystickMain(int player_nr)
DoAnimation();
BackToFront();
DoAnimation();
BackToFront();
- /* don't eat all CPU time */
- Delay(10);
+ WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
}
/* calibrated center position (joystick should now be centered) */
}
/* calibrated center position (joystick should now be centered) */
@@
-6465,7
+6465,7
@@
static boolean CalibrateJoystickMain(int player_nr)
NextEvent(&event);
HandleOtherEvents(&event);
NextEvent(&event);
HandleOtherEvents(&event);
-
Delay(10
);
+
WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value
);
}
}
}
}
diff --git
a/src/tools.c
b/src/tools.c
index 4d8222e023cf196310b65e0a25d3fba33b84814c..e2352d185703d22585a66931c5e3a5ab07b199ac 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-173,6
+173,9
@@
static int el_act2crm(int, int);
static struct GadgetInfo *tool_gadget[NUM_TOOL_BUTTONS];
static int request_gadget_id = -1;
static struct GadgetInfo *tool_gadget[NUM_TOOL_BUTTONS];
static int request_gadget_id = -1;
+static unsigned int sync_frame_delay = 0;
+static unsigned int sync_frame_delay_value = GAME_FRAME_DELAY;
+
static char *print_if_not_empty(int element)
{
static char *s = NULL;
static char *print_if_not_empty(int element)
{
static char *s = NULL;
@@
-3396,8
+3399,7
@@
void WaitForEventToContinue()
DoAnimation();
DoAnimation();
- /* don't eat all CPU time */
- Delay(10);
+ WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
}
}
}
}
@@
-3568,12
+3570,11
@@
static int RequestHandleEvents(unsigned int req_state)
else
{
DoAnimation();
else
{
DoAnimation();
-
- if (!PendingEvent()) /* delay only if no pending events */
- Delay(10);
}
BackToFront();
}
BackToFront();
+
+ WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value);
}
return result;
}
return result;