X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=inline;f=src%2Flibgame%2Fsystem.c;h=b0b8d4775236b8005ed1a5cae12ee39cb411be46;hb=343b2db5fe00cb25a25cad3490fe17866d4415db;hp=337c18dff69c877a714e96f0e00f07e6de3736f3;hpb=2aaf015a5b6264a47dd1da84ee2de1164752e9c2;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 337c18df..b0b8d477 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -4,7 +4,7 @@ // (c) 1995-2014 by Artsoft Entertainment // Holger Schemel // info@artsoft.org -// http://www.artsoft.org/ +// https://www.artsoft.org/ // ---------------------------------------------------------------------------- // system.c // ============================================================================ @@ -57,6 +57,7 @@ int button_status = MB_NOT_PRESSED; boolean motion_status = FALSE; int wheel_steps = DEFAULT_WHEEL_STEPS; boolean keyrepeat_status = TRUE; +boolean textinput_status = FALSE; int redraw_mask = REDRAW_NONE; @@ -117,7 +118,11 @@ void InitNetworkInfo(boolean enabled, boolean connected, boolean serveronly, void InitRuntimeInfo() { +#if defined(HAS_TOUCH_DEVICE) + runtime.uses_touch_device = TRUE; +#else runtime.uses_touch_device = FALSE; +#endif } void InitScoresInfo(void) @@ -132,14 +137,14 @@ void InitScoresInfo(void) { if (program.global_scores) { - Error(ERR_DEBUG, "Using global, multi-user scores directory '%s'.", + Debug("internal:path", "Using global, multi-user scores directory '%s'.", global_scores_dir); - Error(ERR_DEBUG, "Remove to enable single-user scores directory."); - Error(ERR_DEBUG, "(This enables multipe score entries per user.)"); + Debug("internal:path", "Remove to enable single-user scores directory."); + Debug("internal:path", "(This enables multipe score entries per user.)"); } else { - Error(ERR_DEBUG, "Using private, single-user scores directory."); + Debug("internal:path", "Using private, single-user scores directory."); } } #endif @@ -1164,7 +1169,8 @@ void ReloadCustomImage(Bitmap *bitmap, char *basename) if (filename == NULL) // (should never happen) { - Error(ERR_WARN, "ReloadCustomImage(): cannot find file '%s'", basename); + Warn("ReloadCustomImage(): cannot find file '%s'", basename); + return; } @@ -1179,16 +1185,19 @@ void ReloadCustomImage(Bitmap *bitmap, char *basename) if ((new_bitmap = LoadImage(filename)) == NULL) { - Error(ERR_WARN, "LoadImage('%s') failed: %s", basename, GetError()); + Warn("LoadImage('%s') failed: %s", basename, GetError()); + return; } if (bitmap->width != new_bitmap->width || bitmap->height != new_bitmap->height) { - Error(ERR_WARN, "ReloadCustomImage: new image '%s' has wrong dimensions", + Warn("ReloadCustomImage: new image '%s' has wrong dimensions", filename); + FreeBitmap(new_bitmap); + return; } @@ -1692,7 +1701,7 @@ KeyMod HandleKeyModState(Key key, int key_status) { KeyMod new_modifier = KMOD_None; - switch(key) + switch (key) { case KSYM_Shift_L: new_modifier = KMOD_Shift_L; @@ -1749,6 +1758,8 @@ KeyMod GetKeyModStateFromEvents(void) void StartTextInput(int x, int y, int width, int height) { + textinput_status = TRUE; + #if defined(HAS_SCREEN_KEYBOARD) SDL_StartTextInput(); @@ -1763,6 +1774,8 @@ void StartTextInput(int x, int y, int width, int height) void StopTextInput(void) { + textinput_status = FALSE; + #if defined(HAS_SCREEN_KEYBOARD) SDL_StopTextInput();