-/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
-*----------------------------------------------------------*
-* (c) 1995-2006 Artsoft Entertainment *
-* Holger Schemel *
-* Detmolder Strasse 189 *
-* 33604 Bielefeld *
-* Germany *
-* e-mail: info@artsoft.org *
-*----------------------------------------------------------*
-* events.c *
-***********************************************************/
+// ============================================================================
+// Rocks'n'Diamonds - McDuffin Strikes Back!
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+// Holger Schemel
+// info@artsoft.org
+// http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// events.c
+// ============================================================================
#include "libgame/libgame.h"
case EVENT_TEXTINPUT:
HandleTextEvent((TextEvent *) &event);
break;
+
+ case SDL_APP_WILLENTERBACKGROUND:
+ case SDL_APP_DIDENTERBACKGROUND:
+ case SDL_APP_WILLENTERFOREGROUND:
+ case SDL_APP_DIDENTERFOREGROUND:
+ HandlePauseResumeEvent((PauseResumeEvent *) &event);
+ break;
#endif
case EVENT_KEYPRESS:
void HandleExposeEvent(ExposeEvent *event)
{
-#if !defined(TARGET_SDL)
- RedrawPlayfield(FALSE, event->x, event->y, event->width, event->height);
- FlushDisplay();
-#endif
}
void HandleButtonEvent(ButtonEvent *event)
HandleKey(key, KEY_RELEASED);
}
}
+
+void HandlePauseResumeEvent(PauseResumeEvent *event)
+{
+ if (event->type == SDL_APP_WILLENTERBACKGROUND)
+ {
+ Mix_PauseMusic();
+ }
+ else if (event->type == SDL_APP_DIDENTERFOREGROUND)
+ {
+ Mix_ResumeMusic();
+ }
+}
+
#endif
void HandleKeyEvent(KeyEvent *event)
case GAME_MODE_PLAYING:
#ifdef DEBUG
if (button == MB_PRESSED && !motion_status && IN_GFX_FIELD_PLAY(mx, my))
- DumpTile(LEVELX((mx - SX) / TILEX), LEVELY((my - SY) / TILEY));
+ DumpTile(LEVELX((mx - SX) / TILESIZE_VAR),
+ LEVELY((my - SY) / TILESIZE_VAR));
+ // DumpTile(LEVELX((mx - SX) / TILEX), LEVELY((my - SY) / TILEY));
#endif
break;
if (key_status == KEY_RELEASED)
return;
- if ((key == KSYM_Return || key == KSYM_KP_Enter) &&
- (GetKeyModState() & KMOD_Alt) && video.fullscreen_available)
+ if ((key == KSYM_F11 ||
+ ((key == KSYM_Return ||
+ key == KSYM_KP_Enter) && (GetKeyModState() & KMOD_Alt))) &&
+ video.fullscreen_available)
{
setup.fullscreen = !setup.fullscreen;
return;
}
- if ((key == KSYM_minus || key == KSYM_plus || key == KSYM_0) &&
- (GetKeyModState() & KMOD_Alt) && video.window_scaling_available &&
+ if ((key == KSYM_minus ||
+ key == KSYM_plus ||
+ key == KSYM_0) &&
+ ((GetKeyModState() & KMOD_Control) ||
+ (GetKeyModState() & KMOD_Alt)) &&
+ video.window_scaling_available &&
!video.fullscreen_enabled)
{
if (key == KSYM_0)