playfield_cursor_set = FALSE;
}
+#if 0
HandleNoEvent();
+#endif
}
+#if 1
+ HandleNoEvent();
+#endif
+
/* don't use all CPU time when idle; the main loop while playing
has its own synchronization and is CPU friendly, too */
#if defined(TARGET_SDL2)
void HandleWindowEvent(WindowEvent *event)
{
+#if DEBUG_EVENTS
int subtype = event->event;
char *event_name =
Error(ERR_DEBUG, "WINDOW EVENT: '%s', %ld, %ld",
event_name, event->data1, event->data2);
+#endif
- if (event->event == SDL_WINDOWEVENT_EXPOSED)
+ if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED ||
+ event->event == SDL_WINDOWEVENT_RESIZED ||
+ event->event == SDL_WINDOWEVENT_EXPOSED)
SDLRedrawWindow();
#if 0
int new_window_width = event->data1;
int new_window_height = event->data2;
- printf("::: RESIZED from %d, %d to %d, %d\n",
- video.window_width, video.window_height,
- new_window_width, new_window_height);
-
// if window size has changed after resizing, calculate new scaling factor
if (new_window_width != video.window_width ||
new_window_height != video.window_height)
int new_xpercent = (100 * new_window_width / video.width);
int new_ypercent = (100 * new_window_height / video.height);
+ printf("::: RESIZED from %d, %d to %d, %d\n",
+ video.window_width, video.window_height,
+ new_window_width, new_window_height);
+
setup.window_scaling_percent = video.window_scaling_percent =
MIN(MAX(MIN_WINDOW_SCALING_PERCENT, MIN(new_xpercent, new_ypercent)),
MAX_WINDOW_SCALING_PERCENT);
printf("::: setup.window_scaling_percent set to %d\n",
setup.window_scaling_percent);
+
+ if (game_status == GAME_MODE_SETUP)
+ RedrawSetupScreenAfterFullscreenToggle();
}
#else
// prevent slightly wrong scaling factor due to rounding differences
int max_events = 10;
#endif
+#if 0
#if DEBUG_EVENTS
Error(ERR_DEBUG, "FINGER EVENT: finger was %s, touch ID %lld, finger ID %lld, x/y %f/%f, dx/dy %f/%f, pressure %f",
event->type == EVENT_FINGERPRESS ? "pressed" :
event->dx, event->dy,
event->pressure);
#endif
+#endif
#if 0
int x = (int)(event->x * video.width);
Key key = getKeyFromKeyName(text);
#if DEBUG_EVENTS
- Error(ERR_DEBUG, "TEXT EVENT: text == '%s' [%d byte(s), '%c'/%d], resulting key == %d (%s)",
+ Error(ERR_DEBUG, "TEXT EVENT: text == '%s' [%d byte(s), '%c'/%d], resulting key == %d (%s) [%04x]",
text,
strlen(text),
text[0], (int)(text[0]),
key,
- getKeyNameFromKey(key));
+ getKeyNameFromKey(key),
+ GetKeyModState());
#endif
// if (game_status != GAME_MODE_PLAYING && GetKeyModState() != KMOD_None)
{
setup.fullscreen = !setup.fullscreen;
+#if 0
printf("::: %d\n", setup.window_scaling_percent);
+#endif
- ToggleFullscreenIfNeeded();
+ ToggleFullscreenOrChangeWindowScalingIfNeeded();
if (game_status == GAME_MODE_SETUP)
RedrawSetupScreenAfterFullscreenToggle();
}
if ((key == KSYM_minus || key == KSYM_plus || key == KSYM_0) &&
- (GetKeyModState() & KMOD_Control) && video.window_scaling_available &&
+ (GetKeyModState() & KMOD_Alt) && video.window_scaling_available &&
!video.fullscreen_enabled)
{
if (key == KSYM_0)
else if (setup.window_scaling_percent > MAX_WINDOW_SCALING_PERCENT)
setup.window_scaling_percent = MAX_WINDOW_SCALING_PERCENT;
- ToggleFullscreenIfNeeded();
+ ToggleFullscreenOrChangeWindowScalingIfNeeded();
if (game_status == GAME_MODE_SETUP)
RedrawSetupScreenAfterFullscreenToggle();
{
HandleButton(0, 0, -button_status, button_status);
+#if 0
return;
+#endif
+ }
+ else
+ {
+ HandleJoystick();
}
#if defined(NETWORK_AVALIABLE)
HandleNetworking();
#endif
- HandleJoystick();
+ switch (game_status)
+ {
+ case GAME_MODE_MAIN:
+ DrawPreviewLevelAnimation();
+ DoAnimation();
+ break;
+
+ case GAME_MODE_LEVELS:
+ case GAME_MODE_LEVELNR:
+ case GAME_MODE_SETUP:
+ case GAME_MODE_INFO:
+ case GAME_MODE_SCORES:
+ DoAnimation();
+ break;
+
+ case GAME_MODE_EDITOR:
+ HandleLevelEditorIdle();
+ break;
+
+ default:
+ break;
+ }
}
static int HandleJoystickForAllPlayers()
HandleHallOfFame(0, 0, dx, dy, !newbutton);
break;
+#if 0
case GAME_MODE_EDITOR:
HandleLevelEditorIdle();
break;
+#endif
case GAME_MODE_PLAYING:
if (tape.playing || keyboard)
newbutton = ((joy & JOY_BUTTON) != 0);
#if 0
- if (local_player->LevelSolved_GameEnd && newbutton)
+ if (newbutton && local_player->LevelSolved_GameEnd)
#else
- if (AllPlayersGone && newbutton)
+ if (newbutton && AllPlayersGone)
#endif
{
GameEnd();