projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
moved code for setting touch info for finger events to separate function
[rocksndiamonds.git]
/
src
/
libgame
/
sdl.c
diff --git
a/src/libgame/sdl.c
b/src/libgame/sdl.c
index 990054de955f965cab82e6c66936b1aaf63ac17f..a66049e97e0175cf9fef962ff2518d0d7a658ee2 100644
(file)
--- a/
src/libgame/sdl.c
+++ b/
src/libgame/sdl.c
@@
-84,8
+84,8
@@
static void UpdateScreenExt(SDL_Rect *rect, boolean with_frame_delay)
static int LastFrameCounter = 0;
boolean changed = (FrameCounter != LastFrameCounter);
static int LastFrameCounter = 0;
boolean changed = (FrameCounter != LastFrameCounter);
-
printf("::: FrameCounter == %d [%s]\n
", FrameCounter,
-
(changed ? "-" : "SAME FRAME UPDATED"));
+
Debug("internal:frame", "FrameCounter == %d [%s]
", FrameCounter,
+ (changed ? "-" : "SAME FRAME UPDATED"));
LastFrameCounter = FrameCounter;
LastFrameCounter = FrameCounter;
@@
-266,14
+266,14
@@
static void SDLSetWindowIcon(char *basename)
if (filename == NULL)
{
if (filename == NULL)
{
-
Error(ERR_WARN,
"SDLSetWindowIcon(): cannot find file '%s'", basename);
+
Warn(
"SDLSetWindowIcon(): cannot find file '%s'", basename);
return;
}
if ((surface = IMG_Load(filename)) == NULL)
{
return;
}
if ((surface = IMG_Load(filename)) == NULL)
{
-
Error(ERR_WARN,
"IMG_Load('%s') failed: %s", basename, SDL_GetError());
+
Warn(
"IMG_Load('%s') failed: %s", basename, SDL_GetError());
return;
}
return;
}
@@
-360,7
+360,7
@@
SDL_Surface *SDLGetNativeSurface(SDL_Surface *surface)
new_surface = SDL_ConvertSurface(surface, &format, 0);
if (new_surface == NULL)
new_surface = SDL_ConvertSurface(surface, &format, 0);
if (new_surface == NULL)
-
Error(ERR_EXIT,
"SDL_ConvertSurface() failed: %s", SDL_GetError());
+
Fail(
"SDL_ConvertSurface() failed: %s", SDL_GetError());
// workaround for a bug in SDL 2.0.12 (which does not convert the color key)
if (SDLHasColorKey(surface) && !SDLHasColorKey(new_surface))
// workaround for a bug in SDL 2.0.12 (which does not convert the color key)
if (SDLHasColorKey(surface) && !SDLHasColorKey(new_surface))
@@
-401,8
+401,7
@@
static SDL_Texture *SDLCreateTextureFromSurface(SDL_Surface *surface)
SDL_Texture *texture = SDL_CreateTextureFromSurface(sdl_renderer, surface);
if (texture == NULL)
SDL_Texture *texture = SDL_CreateTextureFromSurface(sdl_renderer, surface);
if (texture == NULL)
- Error(ERR_EXIT, "SDL_CreateTextureFromSurface() failed: %s",
- SDL_GetError());
+ Fail("SDL_CreateTextureFromSurface() failed: %s", SDL_GetError());
return texture;
}
return texture;
}
@@
-437,9
+436,13
@@
void SDLFreeBitmapTextures(Bitmap *bitmap)
void SDLInitVideoDisplay(void)
{
void SDLInitVideoDisplay(void)
{
+ // set hint to select render driver as specified in setup config file
+ if (!strEqual(setup.system.sdl_renderdriver, ARG_DEFAULT))
+ SDL_SetHint(SDL_HINT_RENDER_DRIVER, setup.system.sdl_renderdriver);
+
// initialize SDL video
if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0)
// initialize SDL video
if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0)
-
Error(ERR_EXIT,
"SDL_InitSubSystem() failed: %s", SDL_GetError());
+
Fail(
"SDL_InitSubSystem() failed: %s", SDL_GetError());
// set default SDL depth
video.default_depth = 32; // (how to determine video depth in SDL2?)
// set default SDL depth
video.default_depth = 32; // (how to determine video depth in SDL2?)
@@
-463,7
+466,7
@@
static void SDLInitVideoBuffer_VideoBuffer(boolean fullscreen)
// open SDL video output device (window or fullscreen mode)
if (!SDLSetVideoMode(fullscreen))
// open SDL video output device (window or fullscreen mode)
if (!SDLSetVideoMode(fullscreen))
-
Error(ERR_EXIT,
"setting video mode failed");
+
Fail(
"setting video mode failed");
// !!! SDL2 can only set the window icon if the window already exists !!!
// set window icon
// !!! SDL2 can only set the window icon if the window already exists !!!
// set window icon
@@
-511,6
+514,14
@@
static boolean SDLCreateScreen(boolean fullscreen)
#if 1
int renderer_flags = SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE;
#if 1
int renderer_flags = SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE;
+
+ video.vsync_mode = VSYNC_MODE_OFF;
+
+ if (!strEqual(setup.vsync_mode, STR_VSYNC_MODE_OFF))
+ {
+ renderer_flags |= SDL_RENDERER_PRESENTVSYNC;
+ video.vsync_mode = VSYNC_MODE_NORMAL;
+ }
#else
/* If SDL_CreateRenderer() is called from within a VirtualBox Windows VM
_without_ enabling 2D/3D acceleration and/or guest additions installed,
#else
/* If SDL_CreateRenderer() is called from within a VirtualBox Windows VM
_without_ enabling 2D/3D acceleration and/or guest additions installed,
@@
-583,6
+594,7
@@
static boolean SDLCreateScreen(boolean fullscreen)
// SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, setup.window_scaling_quality);
// SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, setup.window_scaling_quality);
+ // required for setting adaptive vsync when using OpenGL renderer
SDLSetScreenVsyncMode(setup.vsync_mode);
sdl_texture_stream = SDL_CreateTexture(sdl_renderer,
SDLSetScreenVsyncMode(setup.vsync_mode);
sdl_texture_stream = SDL_CreateTexture(sdl_renderer,
@@
-602,21
+614,21
@@
static boolean SDLCreateScreen(boolean fullscreen)
new_surface = SDL_CreateRGBSurface(0, width, height, 32, 0,0,0, 0);
if (new_surface == NULL)
new_surface = SDL_CreateRGBSurface(0, width, height, 32, 0,0,0, 0);
if (new_surface == NULL)
-
Error(ERR_WARN,
"SDL_CreateRGBSurface() failed: %s", SDL_GetError());
+
Warn(
"SDL_CreateRGBSurface() failed: %s", SDL_GetError());
}
else
{
}
else
{
-
Error(ERR_WARN,
"SDL_CreateTexture() failed: %s", SDL_GetError());
+
Warn(
"SDL_CreateTexture() failed: %s", SDL_GetError());
}
}
else
{
}
}
else
{
-
Error(ERR_WARN,
"SDL_CreateRenderer() failed: %s", SDL_GetError());
+
Warn(
"SDL_CreateRenderer() failed: %s", SDL_GetError());
}
}
else
{
}
}
else
{
-
Error(ERR_WARN,
"SDL_CreateWindow() failed: %s", SDL_GetError());
+
Warn(
"SDL_CreateWindow() failed: %s", SDL_GetError());
}
SDLSetScreenProperties();
}
SDLSetScreenProperties();
@@
-785,7
+797,7
@@
void SDLSetDisplaySize(void)
video.display_height = h;
#if 0
video.display_height = h;
#if 0
-
Error(ERR_DEBUG
, "SDL renderer size: %d x %d",
+
Debug("video"
, "SDL renderer size: %d x %d",
video.display_width, video.display_height);
#endif
}
video.display_width, video.display_height);
#endif
}
@@
-799,7
+811,7
@@
void SDLSetDisplaySize(void)
video.display_height = display_bounds.h;
#if 0
video.display_height = display_bounds.h;
#if 0
-
Error(ERR_DEBUG
, "SDL display size: %d x %d",
+
Debug("video"
, "SDL display size: %d x %d",
video.display_width, video.display_height);
#endif
}
video.display_width, video.display_height);
#endif
}
@@
-830,7
+842,7
@@
void SDLSetScreenSizeAndOffsets(int width, int height)
video.screen_yoffset = (video.screen_height - height) / 2;
#if 0
video.screen_yoffset = (video.screen_height - height) / 2;
#if 0
-
Error(ERR_DEBUG
, "Changing screen from %dx%d to %dx%d (%.2f to %.2f)",
+
Debug("video"
, "Changing screen from %dx%d to %dx%d (%.2f to %.2f)",
width, height,
video.screen_width, video.screen_height,
ratio_video, ratio_display);
width, height,
video.screen_width, video.screen_height,
ratio_video, ratio_display);
@@
-864,15
+876,25
@@
void SDLSetScreenRenderingMode(char *screen_rendering_mode)
void SDLSetScreenVsyncMode(char *vsync_mode)
{
void SDLSetScreenVsyncMode(char *vsync_mode)
{
- int interval =
- (strEqual(vsync_mode, STR_VSYNC_MODE_NORMAL) ? VSYNC_MODE_NORMAL :
- strEqual(vsync_mode, STR_VSYNC_MODE_ADAPTIVE) ? VSYNC_MODE_ADAPTIVE :
- VSYNC_MODE_OFF);
+ // changing vsync mode without re-creating renderer only supported by OpenGL
+ if (!strPrefixLower((char *)SDLGetRendererName(), "opengl"))
+ return;
+
+ int interval = VSYNC_MODE_STR_TO_INT(vsync_mode);
int result = SDL_GL_SetSwapInterval(interval);
// if adaptive vsync requested, but not supported, retry with normal vsync
if (result == -1 && interval == VSYNC_MODE_ADAPTIVE)
int result = SDL_GL_SetSwapInterval(interval);
// if adaptive vsync requested, but not supported, retry with normal vsync
if (result == -1 && interval == VSYNC_MODE_ADAPTIVE)
- SDL_GL_SetSwapInterval(VSYNC_MODE_NORMAL);
+ {
+ interval = VSYNC_MODE_NORMAL;
+
+ result = SDL_GL_SetSwapInterval(interval);
+ }
+
+ if (result == -1)
+ interval = VSYNC_MODE_OFF;
+
+ video.vsync_mode = interval;
}
void SDLRedrawWindow(void)
}
void SDLRedrawWindow(void)
@@
-890,7
+912,7
@@
void SDLCreateBitmapContent(Bitmap *bitmap, int width, int height,
SDL_CreateRGBSurface(SURFACE_FLAGS, width, height, depth, 0,0,0, 0);
if (surface == NULL)
SDL_CreateRGBSurface(SURFACE_FLAGS, width, height, depth, 0,0,0, 0);
if (surface == NULL)
-
Error(ERR_EXIT,
"SDL_CreateRGBSurface() failed: %s", SDL_GetError());
+
Fail(
"SDL_CreateRGBSurface() failed: %s", SDL_GetError());
SDLSetNativeSurface(&surface);
SDLSetNativeSurface(&surface);
@@
-2214,7
+2236,7
@@
static SDL_Surface *SDLGetOpaqueSurface(SDL_Surface *surface)
return NULL;
if ((new_surface = SDLGetNativeSurface(surface)) == NULL)
return NULL;
if ((new_surface = SDLGetNativeSurface(surface)) == NULL)
-
Error(ERR_EXIT,
"SDLGetNativeSurface() failed");
+
Fail(
"SDLGetNativeSurface() failed");
// remove alpha channel from native non-transparent surface, if defined
SDLSetAlpha(new_surface, FALSE, 0);
// remove alpha channel from native non-transparent surface, if defined
SDLSetAlpha(new_surface, FALSE, 0);
@@
-2281,8
+2303,7
@@
Bitmap *SDLLoadImage(char *filename)
// load image to temporary surface
if ((sdl_image_tmp = IMG_Load(filename)) == NULL)
// load image to temporary surface
if ((sdl_image_tmp = IMG_Load(filename)) == NULL)
- Error(ERR_EXIT, "IMG_Load('%s') failed: %s", getBaseNamePtr(filename),
- SDL_GetError());
+ Fail("IMG_Load('%s') failed: %s", getBaseNamePtr(filename), SDL_GetError());
print_timestamp_time("IMG_Load");
print_timestamp_time("IMG_Load");
@@
-2290,7
+2311,7
@@
Bitmap *SDLLoadImage(char *filename)
// create native non-transparent surface for current image
if ((new_bitmap->surface = SDLGetOpaqueSurface(sdl_image_tmp)) == NULL)
// create native non-transparent surface for current image
if ((new_bitmap->surface = SDLGetOpaqueSurface(sdl_image_tmp)) == NULL)
-
Error(ERR_EXIT,
"SDLGetOpaqueSurface() failed");
+
Fail(
"SDLGetOpaqueSurface() failed");
print_timestamp_time("SDLGetNativeSurface (opaque)");
print_timestamp_time("SDLGetNativeSurface (opaque)");
@@
-2304,7
+2325,7
@@
Bitmap *SDLLoadImage(char *filename)
// create native transparent surface for current image
if ((new_bitmap->surface_masked = SDLGetNativeSurface(sdl_image_tmp)) == NULL)
// create native transparent surface for current image
if ((new_bitmap->surface_masked = SDLGetNativeSurface(sdl_image_tmp)) == NULL)
-
Error(ERR_EXIT,
"SDLGetNativeSurface() failed");
+
Fail(
"SDLGetNativeSurface() failed");
print_timestamp_time("SDLGetNativeSurface (masked)");
print_timestamp_time("SDLGetNativeSurface (masked)");
@@
-2370,7
+2391,8
@@
void SDLOpenAudio(void)
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
{
if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0)
{
- Error(ERR_WARN, "SDL_InitSubSystem() failed: %s", SDL_GetError());
+ Warn("SDL_InitSubSystem() failed: %s", SDL_GetError());
+
return;
}
return;
}
@@
-2378,7
+2400,8
@@
void SDLOpenAudio(void)
AUDIO_NUM_CHANNELS_STEREO,
setup.system.audio_fragment_size) < 0)
{
AUDIO_NUM_CHANNELS_STEREO,
setup.system.audio_fragment_size) < 0)
{
- Error(ERR_WARN, "Mix_OpenAudio() failed: %s", SDL_GetError());
+ Warn("Mix_OpenAudio() failed: %s", SDL_GetError());
+
return;
}
return;
}
@@
-2469,7
+2492,7
@@
boolean SDLOpenJoystick(int nr)
sdl_is_controller[nr] = SDL_IsGameController(nr);
#if DEBUG_JOYSTICKS
sdl_is_controller[nr] = SDL_IsGameController(nr);
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "opening joystick %d (%s)",
+
Debug("joystick"
, "opening joystick %d (%s)",
nr, (sdl_is_controller[nr] ? "game controller" : "joystick"));
#endif
nr, (sdl_is_controller[nr] ? "game controller" : "joystick"));
#endif
@@
-2487,7
+2510,7
@@
void SDLCloseJoystick(int nr)
return;
#if DEBUG_JOYSTICKS
return;
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "closing joystick %d", nr);
+
Debug("joystick"
, "closing joystick %d", nr);
#endif
if (sdl_is_controller[nr])
#endif
if (sdl_is_controller[nr])
@@
-2573,7
+2596,7
@@
void HandleJoystickEvent(Event *event)
{
case SDL_CONTROLLERDEVICEADDED:
#if DEBUG_JOYSTICKS
{
case SDL_CONTROLLERDEVICEADDED:
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_CONTROLLERDEVICEADDED: device %d added",
+
Debug("joystick"
, "SDL_CONTROLLERDEVICEADDED: device %d added",
event->cdevice.which);
#endif
InitJoysticks();
event->cdevice.which);
#endif
InitJoysticks();
@@
-2581,7
+2604,7
@@
void HandleJoystickEvent(Event *event)
case SDL_CONTROLLERDEVICEREMOVED:
#if DEBUG_JOYSTICKS
case SDL_CONTROLLERDEVICEREMOVED:
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_CONTROLLERDEVICEREMOVED: device %d removed",
+
Debug("joystick"
, "SDL_CONTROLLERDEVICEREMOVED: device %d removed",
event->cdevice.which);
#endif
InitJoysticks();
event->cdevice.which);
#endif
InitJoysticks();
@@
-2589,7
+2612,7
@@
void HandleJoystickEvent(Event *event)
case SDL_CONTROLLERAXISMOTION:
#if DEBUG_JOYSTICKS
case SDL_CONTROLLERAXISMOTION:
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_CONTROLLERAXISMOTION: device %d, axis %d: %d",
+
Debug("joystick"
, "SDL_CONTROLLERAXISMOTION: device %d, axis %d: %d",
event->caxis.which, event->caxis.axis, event->caxis.value);
#endif
setJoystickAxis(event->caxis.which,
event->caxis.which, event->caxis.axis, event->caxis.value);
#endif
setJoystickAxis(event->caxis.which,
@@
-2599,7
+2622,7
@@
void HandleJoystickEvent(Event *event)
case SDL_CONTROLLERBUTTONDOWN:
#if DEBUG_JOYSTICKS
case SDL_CONTROLLERBUTTONDOWN:
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_CONTROLLERBUTTONDOWN: device %d, button %d",
+
Debug("joystick"
, "SDL_CONTROLLERBUTTONDOWN: device %d, button %d",
event->cbutton.which, event->cbutton.button);
#endif
setJoystickButton(event->cbutton.which,
event->cbutton.which, event->cbutton.button);
#endif
setJoystickButton(event->cbutton.which,
@@
-2609,7
+2632,7
@@
void HandleJoystickEvent(Event *event)
case SDL_CONTROLLERBUTTONUP:
#if DEBUG_JOYSTICKS
case SDL_CONTROLLERBUTTONUP:
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_CONTROLLERBUTTONUP: device %d, button %d",
+
Debug("joystick"
, "SDL_CONTROLLERBUTTONUP: device %d, button %d",
event->cbutton.which, event->cbutton.button);
#endif
setJoystickButton(event->cbutton.which,
event->cbutton.which, event->cbutton.button);
#endif
setJoystickButton(event->cbutton.which,
@@
-2622,7
+2645,7
@@
void HandleJoystickEvent(Event *event)
break;
#if DEBUG_JOYSTICKS
break;
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_JOYAXISMOTION: device %d, axis %d: %d",
+
Debug("joystick"
, "SDL_JOYAXISMOTION: device %d, axis %d: %d",
event->jaxis.which, event->jaxis.axis, event->jaxis.value);
#endif
if (event->jaxis.axis < 4)
event->jaxis.which, event->jaxis.axis, event->jaxis.value);
#endif
if (event->jaxis.axis < 4)
@@
-2636,7
+2659,7
@@
void HandleJoystickEvent(Event *event)
break;
#if DEBUG_JOYSTICKS
break;
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_JOYBUTTONDOWN: device %d, button %d",
+
Debug("joystick"
, "SDL_JOYBUTTONDOWN: device %d, button %d",
event->jbutton.which, event->jbutton.button);
#endif
if (event->jbutton.button < 4)
event->jbutton.which, event->jbutton.button);
#endif
if (event->jbutton.button < 4)
@@
-2650,7
+2673,7
@@
void HandleJoystickEvent(Event *event)
break;
#if DEBUG_JOYSTICKS
break;
#if DEBUG_JOYSTICKS
-
Error(ERR_DEBUG
, "SDL_JOYBUTTONUP: device %d, button %d",
+
Debug("joystick"
, "SDL_JOYBUTTONUP: device %d, button %d",
event->jbutton.which, event->jbutton.button);
#endif
if (event->jbutton.button < 4)
event->jbutton.which, event->jbutton.button);
#endif
if (event->jbutton.button < 4)
@@
-2682,19
+2705,17
@@
void SDLInitJoysticks(void)
SDL_SetHint(SDL_HINT_ACCELEROMETER_AS_JOYSTICK, "0");
if (SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER) < 0)
SDL_SetHint(SDL_HINT_ACCELEROMETER_AS_JOYSTICK, "0");
if (SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER) < 0)
- {
- Error(ERR_EXIT, "SDL_Init() failed: %s", SDL_GetError());
- return;
- }
+ Fail("SDL_Init() failed: %s", SDL_GetError());
num_mappings = SDL_GameControllerAddMappingsFromFile(mappings_file_base);
// the included game controller base mappings should always be found
if (num_mappings == -1)
num_mappings = SDL_GameControllerAddMappingsFromFile(mappings_file_base);
// the included game controller base mappings should always be found
if (num_mappings == -1)
-
Error(ERR_WARN,
"no game controller base mappings found");
+
Warn(
"no game controller base mappings found");
#if DEBUG_JOYSTICKS
else
#if DEBUG_JOYSTICKS
else
- Error(ERR_INFO, "%d game controller base mapping(s) added", num_mappings);
+ Debug("joystick", "%d game controller base mapping(s) added",
+ num_mappings);
#endif
num_mappings = SDL_GameControllerAddMappingsFromFile(mappings_file_user);
#endif
num_mappings = SDL_GameControllerAddMappingsFromFile(mappings_file_user);
@@
-2702,11
+2723,12
@@
void SDLInitJoysticks(void)
#if DEBUG_JOYSTICKS
// the personal game controller user mappings may or may not be found
if (num_mappings == -1)
#if DEBUG_JOYSTICKS
// the personal game controller user mappings may or may not be found
if (num_mappings == -1)
-
Error(ERR_WARN,
"no game controller user mappings found");
+
Warn(
"no game controller user mappings found");
else
else
- Error(ERR_INFO, "%d game controller user mapping(s) added", num_mappings);
+ Debug("joystick", , "%d game controller user mapping(s) added",
+ num_mappings);
-
Error(ERR_INFO
, "%d joystick(s) found:", SDL_NumJoysticks());
+
Debug("joystick"
, "%d joystick(s) found:", SDL_NumJoysticks());
#endif
checked_free(mappings_file_base);
#endif
checked_free(mappings_file_base);
@@
-2728,7
+2750,7
@@
void SDLInitJoysticks(void)
type = "joystick";
}
type = "joystick";
}
-
Error(ERR_INFO
, "- joystick %d (%s): '%s'",
+
Debug("joystick"
, "- joystick %d (%s): '%s'",
i, type, (name ? name : "(Unknown)"));
}
#endif
i, type, (name ? name : "(Unknown)"));
}
#endif
@@
-2744,7
+2766,7
@@
void SDLInitJoysticks(void)
if (joystick_nr >= SDL_NumJoysticks())
{
if (setup.input[i].use_joystick && print_warning)
if (joystick_nr >= SDL_NumJoysticks())
{
if (setup.input[i].use_joystick && print_warning)
-
Error(ERR_WARN,
"cannot find joystick %d", joystick_nr);
+
Warn(
"cannot find joystick %d", joystick_nr);
joystick_nr = -1;
}
joystick_nr = -1;
}
@@
-2763,7
+2785,7
@@
void SDLInitJoysticks(void)
if (SDLOpenJoystick(i))
joystick.status = JOYSTICK_ACTIVATED;
else if (print_warning)
if (SDLOpenJoystick(i))
joystick.status = JOYSTICK_ACTIVATED;
else if (print_warning)
-
Error(ERR_WARN,
"cannot open joystick %d", i);
+
Warn(
"cannot open joystick %d", i);
}
SDLClearJoystickState();
}
SDLClearJoystickState();