X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=4bd3b8d9196f83518af4bf5d4797a8c1b54c741d;hp=ab6c4efa28f32b808b095e4955afc0966798750a;hb=ad93f89279233a6adfa0dc0ebe3570c4c614cedb;hpb=ba20bcc8b425b7addb2bd1bfc4ef3661e56ccd43 diff --git a/src/tools.c b/src/tools.c index ab6c4efa..4bd3b8d9 100644 --- a/src/tools.c +++ b/src/tools.c @@ -982,7 +982,7 @@ static void FadeExt(int fade_mask, int fade_mode, int fade_type) redraw_mask &= ~fade_mask; - ClearEventQueue(); + ClearAutoRepeatKeyEvents(); } static void SetScreenStates_BeforeFadingIn() @@ -2803,7 +2803,7 @@ void AnimateEnvelope(int envelope_nr, int anim_mode, int action) SkipUntilDelayReached(&anim_delay, anim_delay_value, &i, last_frame); } - ClearEventQueue(); + ClearAutoRepeatKeyEvents(); } void ShowEnvelope(int envelope_nr) @@ -3088,7 +3088,7 @@ void AnimateEnvelopeRequest(int anim_mode, int action) SkipUntilDelayReached(&anim_delay, anim_delay_value, &i, last_frame); } - ClearEventQueue(); + ClearAutoRepeatKeyEvents(); } void ShowEnvelopeRequest(char *text, unsigned int req_state, int action) @@ -4570,6 +4570,7 @@ static boolean RequestDoor(char *text, unsigned int req_state) /* pause network game while waiting for request to answer */ if (network.enabled && game_status == GAME_MODE_PLAYING && + !AllPlayersGone && req_state & REQUEST_WAIT_FOR_INPUT) SendToServer_PausePlaying(); @@ -4710,6 +4711,7 @@ static boolean RequestDoor(char *text, unsigned int req_state) /* continue network game after request */ if (network.enabled && game_status == GAME_MODE_PLAYING && + !AllPlayersGone && req_state & REQUEST_WAIT_FOR_INPUT) SendToServer_ContinuePlaying(); @@ -4736,6 +4738,7 @@ static boolean RequestEnvelope(char *text, unsigned int req_state) /* pause network game while waiting for request to answer */ if (network.enabled && game_status == GAME_MODE_PLAYING && + !AllPlayersGone && req_state & REQUEST_WAIT_FOR_INPUT) SendToServer_PausePlaying(); @@ -4793,6 +4796,7 @@ static boolean RequestEnvelope(char *text, unsigned int req_state) /* continue network game after request */ if (network.enabled && game_status == GAME_MODE_PLAYING && + !AllPlayersGone && req_state & REQUEST_WAIT_FOR_INPUT) SendToServer_ContinuePlaying(); @@ -5425,7 +5429,7 @@ unsigned int MoveDoor(unsigned int door_state) DrawMaskedBorder(REDRAW_DOOR_1); DrawMaskedBorder(REDRAW_DOOR_2); - ClearEventQueue(); + ClearAutoRepeatKeyEvents(); return (door1 | door2); } @@ -8111,7 +8115,7 @@ int getBeltSwitchElementFromBeltNrAndBeltDir(int belt_nr, int belt_dir) boolean getTeamMode_EM() { - return game.team_mode; + return game.team_mode || network_playing; } int getGameFrameDelay_EM(int native_em_game_frame_delay) @@ -9211,7 +9215,10 @@ void PlayMenuMusicExt(int music) if (!setup.sound_music) return; - PlayMusic(music); + if (IS_LOOP_MUSIC(music)) + PlayMusicLoop(music); + else + PlayMusic(music); } void PlayMenuMusic() @@ -9387,6 +9394,13 @@ void ResetFontStatus() SetFontStatus(-1); } +void SetLevelSetInfo(char *identifier, int level_nr) +{ + setString(&levelset.identifier, identifier); + + levelset.level_nr = level_nr; +} + boolean CheckIfPlayfieldViewportHasChanged() { // if game status has not changed, playfield viewport has not changed either