From: Holger Schemel Date: Sun, 15 Jul 2001 16:58:40 +0000 (+0200) Subject: rnd-20010715-2-src X-Git-Tag: 2.0.1^2~17 X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=commitdiff_plain;h=002e8fb72acc42d6cb0e4f59f242967c2e4a7f5b rnd-20010715-2-src --- diff --git a/CHANGES b/CHANGES index 1f8ef005..a919d97c 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,8 @@ Release Version 2.0.1 [?? ??? 2001] + infotrons kill electrons and snik snaks and trigger orange disks + explosion chain reactions are now a bit slower than murphy - behaviour of robots adjusted to make them less aggressive + - icon for Windows executable added + - bug when selecting default level series fixed Release Version 2.0.0 [01 JAN 2001] ----------------------------------- diff --git a/src/files.c b/src/files.c index 226cab31..d78ec4f1 100644 --- a/src/files.c +++ b/src/files.c @@ -2077,7 +2077,7 @@ void LoadLevelSetup_LastSeries() struct SetupFileList *level_setup_list = NULL; /* always start with reliable default values */ - leveldir_current = leveldir_first; + leveldir_current = getFirstValidLevelSeries(leveldir_first); /* ----------------------------------------------------------------------- */ /* ~/.rocksndiamonds/levelsetup.conf */ diff --git a/src/game.c b/src/game.c index 37608e5d..3db4e1bc 100644 --- a/src/game.c +++ b/src/game.c @@ -4292,51 +4292,6 @@ static void PlayerActions(struct PlayerInfo *player, byte player_action) } } -static void sleep_milliseconds_x(unsigned long milliseconds_delay) -{ - boolean do_busy_waiting = (milliseconds_delay < 5 ? TRUE : FALSE); - -#if defined(PLATFORM_MSDOS) - /* don't use select() to perform waiting operations under DOS/Windows - environment; always use a busy loop for waiting instead */ - do_busy_waiting = TRUE; -#endif - - - - do_busy_waiting = TRUE; - - - - if (do_busy_waiting) - { - /* we want to wait only a few ms -- if we assume that we have a - kernel timer resolution of 10 ms, we would wait far to long; - therefore it's better to do a short interval of busy waiting - to get our sleeping time more accurate */ - - unsigned long base_counter = Counter(), actual_counter = Counter(); - - while (actual_counter < base_counter + milliseconds_delay && - actual_counter >= base_counter) - actual_counter = Counter(); - } - else - { -#if defined(TARGET_SDL) - SDL_Delay(milliseconds_delay); -#else - struct timeval delay; - - delay.tv_sec = milliseconds_delay / 1000; - delay.tv_usec = 1000 * (milliseconds_delay % 1000); - - if (select(0, NULL, NULL, NULL, &delay) != 0) - Error(ERR_WARN, "sleep_milliseconds(): select() failed"); -#endif - } -} - void GameActions() { static unsigned long action_delay = 0; @@ -4354,45 +4309,7 @@ void GameActions() /* ---------- main game synchronization point ---------- */ - - -#if 1 - WaitUntilDelayReached(&action_delay, action_delay_value); -#else - { - unsigned long count1 = SDL_GetTicks(), count2, current_ms, test; - - /* - WaitUntilDelayReached(&action_delay, action_delay_value); - */ - - /* - SDL_Delay(20); - */ - - /* - sleep_milliseconds_x(20); - */ - - current_ms = SDL_GetTicks(); - test = -1; - while (current_ms < count1 + 20) - { - current_ms = SDL_GetTicks(); /* busy wait! */ - - if (test != current_ms) - { - Error(ERR_RETURN, "current_ms == %ld", current_ms); - test = current_ms; - } - } - - count2 = SDL_GetTicks(); - Error(ERR_RETURN, "delay == %ld", count2 - count1); - } -#endif - - + WaitUntilDelayReached(&action_delay, action_delay_value); if (network_playing && !network_player_action_received) {