SCI: Got rid of sci_sched_yield

svn-id: r38719
This commit is contained in:
Max Horn 2009-02-21 18:21:00 +00:00
parent 273271767b
commit b6c9b12e64
3 changed files with 10 additions and 76 deletions

View File

@ -39,8 +39,6 @@ namespace Sci {
#define INTERCOL(a, b) ((int) sqrt((((3.3 * (a))*(a)) + ((1.7 * (b))*(b))) / 5.0))
// Macro for color interpolation
#define SCI_PIC0_MAX_FILL 30 // Number of times to fill before yielding to scheduler
#define SCI0_MAX_PALETTE 2
int sci0_palette = 0;
@ -1310,7 +1308,6 @@ void gfxr_draw_pic01(gfxr_pic_t *pic, int flags, int default_palette, int size,
int temp;
int line_mode = style->line_mode;
int sci_titlebar_size = style->pic_port_bounds.y;
int fill_count = 0;
byte op, opx;
#ifdef FILL_RECURSIVE_DEBUG
@ -1464,11 +1461,6 @@ void gfxr_draw_pic01(gfxr_pic_t *pic, int flags, int default_palette, int size,
_gfxr_fill_1(pic, x, y + sci_titlebar_size, (flags & DRAWPIC01_FLAG_FILL_NORMALLY) ?
color : 0, priority, control, drawenable, sci_titlebar_size);
if (fill_count++ > SCI_PIC0_MAX_FILL) {
sci_sched_yield();
fill_count = 0;
}
#ifdef FILL_RECURSIVE_DEBUG
if (!fillmagc) {
int x, y;

View File

@ -250,11 +250,6 @@ int is_print_str(char *str);
/** Find first set bit in bits and return its index. Returns 0 if bits is 0. */
int sci_ffs(int bits);
void sci_sched_yield(void);
/* Yields the running process/thread to the scheduler
** Parameters: (void)
** Returns : after a while.
*/
/* The following was originally based on glib.h code, which was
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald

View File

@ -23,48 +23,27 @@
*
*/
#ifdef _MSC_VER
# include <sys/timeb.h>
# include <windows.h>
# include <sys/types.h>
# include <sys/stat.h>
# undef ARRAYSIZE
#endif
#include "common/archive.h"
#include "common/file.h"
#include "common/util.h"
#include "common/scummsys.h"
#ifdef WIN32
# include <windows.h>
# include <errno.h>
# include <mmsystem.h>
# ifdef sleep
# undef sleep
# endif
# define sleep(x) \
do { \
if (x == 0) { \
Sleep(0); \
} else { \
if (timeBeginPeriod(1) != TIMERR_NOERROR) \
fprintf(stderr, "timeBeginPeriod(1) failed\n"); \
Sleep(x); \
if (timeEndPeriod(1) != TIMERR_NOERROR) \
fprintf(stderr, "timeEndPeriod(1) failed\n"); \
} \
} while (0);
# include <sys/timeb.h>
# include <sys/types.h>
# include <sys/stat.h>
# undef ARRAYSIZE
#endif
#include "common/scummsys.h"
#include "common/str.h"
#ifdef UNIX
#include <fnmatch.h>
#endif
#include "common/archive.h"
#include "common/file.h"
#include "common/util.h"
#include "common/str.h"
#include "sci/include/engine.h"
namespace Sci {
@ -83,10 +62,6 @@ namespace Sci {
# include <sys/time.h>
#endif
#ifdef __DC__
# include <kos/thread.h>
#endif
int script_debug_flag = 0; // Defaulting to running mode
int sci_debug_flags = 0; // Special flags
@ -375,34 +350,6 @@ int sci_mkpath(const char *path) {
return 0;
}
//-- Yielding to the scheduler --
#ifdef HAVE_SCHED_YIELD
# include <sched.h>
void sci_sched_yield() {
sched_yield();
}
#elif defined (__DC__)
void sci_sched_yield() {
thd_pass();
}
#elif defined (WIN32)
void sci_sched_yield() {
sleep(1);
}
#else
void sci_sched_yield() {
}
#endif
/* Returns the case-sensitive filename of a file.
** Expects *dir to be uninitialized and the caller to free it afterwards.