projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20051126-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
sdl.c
diff --git
a/src/libgame/sdl.c
b/src/libgame/sdl.c
index 74123228f2b2185f43100f4c3b2d5c19b70f356a..e27c822e60cc5f301a4d291e431d5a1ce461808d 100644
(file)
--- a/
src/libgame/sdl.c
+++ b/
src/libgame/sdl.c
@@
-71,7
+71,7
@@
inline void SDLInitVideoBuffer(DrawBuffer **backbuffer, DrawWindow **window,
fullscreen_yoffset = 0;
#ifdef FULLSCREEN_BUG
fullscreen_yoffset = 0;
#ifdef FULLSCREEN_BUG
- for (i
=
0; screen_xy[i][0] != -1; i++)
+ for (i
=
0; screen_xy[i][0] != -1; i++)
{
if (video.width <= screen_xy[i][0] && video.height <= screen_xy[i][1])
{
{
if (video.width <= screen_xy[i][0] && video.height <= screen_xy[i][1])
{
@@
-248,11
+248,6
@@
inline void SDLFillRectangle(Bitmap *dst_bitmap, int x, int y,
{
Bitmap *real_dst_bitmap = (dst_bitmap == window ? backbuffer : dst_bitmap);
SDL_Rect rect;
{
Bitmap *real_dst_bitmap = (dst_bitmap == window ? backbuffer : dst_bitmap);
SDL_Rect rect;
-#if 0
- unsigned int color_r = (color >> 16) & 0xff;
- unsigned int color_g = (color >> 8) & 0xff;
- unsigned int color_b = (color >> 0) & 0xff;
-#endif
#ifdef FULLSCREEN_BUG
if (dst_bitmap == backbuffer || dst_bitmap == window)
#ifdef FULLSCREEN_BUG
if (dst_bitmap == backbuffer || dst_bitmap == window)
@@
-267,13
+262,7
@@
inline void SDLFillRectangle(Bitmap *dst_bitmap, int x, int y,
rect.w = width;
rect.h = height;
rect.w = width;
rect.h = height;
-#if 1
SDL_FillRect(real_dst_bitmap->surface, &rect, color);
SDL_FillRect(real_dst_bitmap->surface, &rect, color);
-#else
- SDL_FillRect(real_dst_bitmap->surface, &rect,
- SDL_MapRGB(real_dst_bitmap->surface->format,
- color_r, color_g, color_b));
-#endif
if (dst_bitmap == window)
SDL_UpdateRect(backbuffer->surface, x, y, width, height);
if (dst_bitmap == window)
SDL_UpdateRect(backbuffer->surface, x, y, width, height);
@@
-284,11
+273,6
@@
inline void SDLDrawSimpleLine(Bitmap *dst_bitmap, int from_x, int from_y,
{
SDL_Surface *surface = dst_bitmap->surface;
SDL_Rect rect;
{
SDL_Surface *surface = dst_bitmap->surface;
SDL_Rect rect;
-#if 0
- unsigned int color_r = (color >> 16) & 0xff;
- unsigned int color_g = (color >> 8) & 0xff;
- unsigned int color_b = (color >> 0) & 0xff;
-#endif
if (from_x > to_x)
swap_numbers(&from_x, &to_x);
if (from_x > to_x)
swap_numbers(&from_x, &to_x);
@@
-309,12
+293,7
@@
inline void SDLDrawSimpleLine(Bitmap *dst_bitmap, int from_x, int from_y,
}
#endif
}
#endif
-#if 1
SDL_FillRect(surface, &rect, color);
SDL_FillRect(surface, &rect, color);
-#else
- SDL_FillRect(surface, &rect,
- SDL_MapRGB(surface->format, color_r, color_g, color_b));
-#endif
}
inline void SDLDrawLine(Bitmap *dst_bitmap, int from_x, int from_y,
}
inline void SDLDrawLine(Bitmap *dst_bitmap, int from_x, int from_y,
@@
-340,11
+319,11
@@
inline void SDLDrawLines(SDL_Surface *surface, struct XY *points,
int i, x, y;
int line_width = 4;
int i, x, y;
int line_width = 4;
- for (i
=0; i<
num_points - 1; i++)
+ for (i
= 0; i <
num_points - 1; i++)
{
{
- for (x
=0; x<
line_width; x++)
+ for (x
= 0; x <
line_width; x++)
{
{
- for (y
=0; y<
line_width; y++)
+ for (y
= 0; y <
line_width; y++)
{
int dx = x - line_width / 2;
int dy = y - line_width / 2;
{
int dx = x - line_width / 2;
int dy = y - line_width / 2;
@@
-889,9
+868,9
@@
inline void SDLInvertArea(Bitmap *bitmap, int src_x, int src_y,
{
int x, y;
{
int x, y;
- for (y
=
src_y; y < src_y + height; y++)
+ for (y
=
src_y; y < src_y + height; y++)
{
{
- for (x
=
src_x; x < src_x + width; x++)
+ for (x
=
src_x; x < src_x + width; x++)
{
Uint32 pixel = SDLGetPixel(bitmap, x, y);
{
Uint32 pixel = SDLGetPixel(bitmap, x, y);
@@
-906,9
+885,9
@@
inline void SDLCopyInverseMasked(Bitmap *src_bitmap, Bitmap *dst_bitmap,
{
int x, y;
{
int x, y;
- for (y
=
0; y < height; y++)
+ for (y
=
0; y < height; y++)
{
{
- for (x
=
0; x < width; x++)
+ for (x
=
0; x < width; x++)
{
Uint32 pixel = SDLGetPixel(src_bitmap, src_x + x, src_y + y);
{
Uint32 pixel = SDLGetPixel(src_bitmap, src_x + x, src_y + y);
@@
-1116,9
+1095,8
@@
int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst)
-----------------------------------------------------------------------------
zoomSurface()
-----------------------------------------------------------------------------
zoomSurface()
- Zoom
e
s a 32bit or 8bit 'src' surface to newly created 'dst' surface.
+ Zooms a 32bit or 8bit 'src' surface to newly created 'dst' surface.
'zoomx' and 'zoomy' are scaling factors for width and height.
'zoomx' and 'zoomy' are scaling factors for width and height.
- If 'smooth' is 1 then the destination 32bit surface is anti-aliased.
If the surface is not 8bit or 32bit RGBA/ABGR it will be converted
into a 32bit RGBA format on the fly.
-----------------------------------------------------------------------------
If the surface is not 8bit or 32bit RGBA/ABGR it will be converted
into a 32bit RGBA format on the fly.
-----------------------------------------------------------------------------
@@
-1181,7
+1159,7
@@
SDL_Surface *zoomSurface(SDL_Surface *src, int dst_width, int dst_height)
else
{
/* copy palette */
else
{
/* copy palette */
- for (i
=
0; i < zoom_src->format->palette->ncolors; i++)
+ for (i
=
0; i < zoom_src->format->palette->ncolors; i++)
zoom_dst->format->palette->colors[i] =
zoom_src->format->palette->colors[i];
zoom_dst->format->palette->ncolors = zoom_src->format->palette->ncolors;
zoom_dst->format->palette->colors[i] =
zoom_src->format->palette->colors[i];
zoom_dst->format->palette->ncolors = zoom_src->format->palette->ncolors;
@@
-1441,6
+1419,7
@@
void HandleJoystickEvent(Event *event)
void SDLInitJoysticks()
{
static boolean sdl_joystick_subsystem_initialized = FALSE;
void SDLInitJoysticks()
{
static boolean sdl_joystick_subsystem_initialized = FALSE;
+ boolean print_warning = !sdl_joystick_subsystem_initialized;
int i;
if (!sdl_joystick_subsystem_initialized)
int i;
if (!sdl_joystick_subsystem_initialized)
@@
-1454,17
+1433,25
@@
void SDLInitJoysticks()
}
}
}
}
- for (i
=0; i<
MAX_PLAYERS; i++)
+ for (i
= 0; i <
MAX_PLAYERS; i++)
{
char *device_name = setup.input[i].joy.device_name;
int joystick_nr = getJoystickNrFromDeviceName(device_name);
if (joystick_nr >= SDL_NumJoysticks())
{
char *device_name = setup.input[i].joy.device_name;
int joystick_nr = getJoystickNrFromDeviceName(device_name);
if (joystick_nr >= SDL_NumJoysticks())
+ {
+ if (setup.input[i].use_joystick && print_warning)
+ Error(ERR_WARN, "cannot find joystick %d", joystick_nr);
+
joystick_nr = -1;
joystick_nr = -1;
+ }
/* misuse joystick file descriptor variable to store joystick number */
joystick.fd[i] = joystick_nr;
/* misuse joystick file descriptor variable to store joystick number */
joystick.fd[i] = joystick_nr;
+ if (joystick_nr == -1)
+ continue;
+
/* this allows subsequent calls to 'InitJoysticks' for re-initialization */
if (SDLCheckJoystickOpened(joystick_nr))
SDLCloseJoystick(joystick_nr);
/* this allows subsequent calls to 'InitJoysticks' for re-initialization */
if (SDLCheckJoystickOpened(joystick_nr))
SDLCloseJoystick(joystick_nr);
@@
-1474,7
+1461,9
@@
void SDLInitJoysticks()
if (!SDLOpenJoystick(joystick_nr))
{
if (!SDLOpenJoystick(joystick_nr))
{
- Error(ERR_WARN, "cannot open joystick %d", joystick_nr);
+ if (print_warning)
+ Error(ERR_WARN, "cannot open joystick %d", joystick_nr);
+
continue;
}
continue;
}