X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=dbeba50c151b71240f4558ffc780909718ec1f46;hp=78f76fd8ce8f577f9ffdbc921a7964e24f7592da;hb=ed8ef556aa5601e67e14d9470113589f204ba94d;hpb=93e2747358fef77db481b9f36e4d088e6441899e diff --git a/src/tools.c b/src/tools.c index 78f76fd8..dbeba50c 100644 --- 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 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; @@ -2391,13 +2394,6 @@ void AnimateEnvelopeRequest(int anim_mode, int action) ystart = yend; end = 0; } - else - { - if (action == ACTION_OPENING) - PlayMenuSoundStereo(SND_DOOR_OPENING, SOUND_MIDDLE); - else if (action == ACTION_CLOSING) - PlayMenuSoundStereo(SND_DOOR_CLOSING, SOUND_MIDDLE); - } for (i = start; i <= end; i++) { @@ -3403,8 +3399,7 @@ void WaitForEventToContinue() DoAnimation(); - /* don't eat all CPU time */ - Delay(10); + WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value); } } @@ -3575,12 +3570,11 @@ static int RequestHandleEvents(unsigned int req_state) else { DoAnimation(); - - if (!PendingEvent()) /* delay only if no pending events */ - Delay(10); } BackToFront(); + + WaitUntilDelayReached(&sync_frame_delay, sync_frame_delay_value); } return result; @@ -8336,6 +8330,7 @@ void ChangeViewportPropertiesIfNeeded() // printf("::: init_video_buffer\n"); InitVideoBuffer(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH, setup.fullscreen); + InitImageTextures(); } if (init_gadgets_and_toons)