projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20140117-2-src
[rocksndiamonds.git]
/
src
/
events.c
diff --git
a/src/events.c
b/src/events.c
index 4bbd8a523c37a5913c49d466111d3757c99b862b..2aa963e352b3ebb9ae07e5c9fc606fe8eee4dee8 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-206,9
+206,15
@@
void EventLoop(void)
playfield_cursor_set = FALSE;
}
playfield_cursor_set = FALSE;
}
+#if 0
HandleNoEvent();
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 */
/* don't use all CPU time when idle; the main loop while playing
has its own synchronization and is CPU friendly, too */
@@
-403,6
+409,7
@@
void HandleMotionEvent(MotionEvent *event)
#if defined(TARGET_SDL2)
void HandleWindowEvent(WindowEvent *event)
{
#if defined(TARGET_SDL2)
void HandleWindowEvent(WindowEvent *event)
{
+#if DEBUG_EVENTS
int subtype = event->event;
char *event_name =
int subtype = event->event;
char *event_name =
@@
-424,8
+431,11
@@
void HandleWindowEvent(WindowEvent *event)
Error(ERR_DEBUG, "WINDOW EVENT: '%s', %ld, %ld",
event_name, event->data1, event->data2);
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
SDLRedrawWindow();
#if 0
@@
-448,10
+458,6
@@
void HandleWindowEvent(WindowEvent *event)
int new_window_width = event->data1;
int new_window_height = event->data2;
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)
// if window size has changed after resizing, calculate new scaling factor
if (new_window_width != video.window_width ||
new_window_height != video.window_height)
@@
-459,6
+465,10
@@
void HandleWindowEvent(WindowEvent *event)
int new_xpercent = (100 * new_window_width / video.width);
int new_ypercent = (100 * new_window_height / video.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);
setup.window_scaling_percent = video.window_scaling_percent =
MIN(MAX(MIN_WINDOW_SCALING_PERCENT, MIN(new_xpercent, new_ypercent)),
MAX_WINDOW_SCALING_PERCENT);
@@
-468,6
+478,9
@@
void HandleWindowEvent(WindowEvent *event)
printf("::: setup.window_scaling_percent set to %d\n",
setup.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
}
#else
// prevent slightly wrong scaling factor due to rounding differences
@@
-508,6
+521,7
@@
void HandleFingerEvent(FingerEvent *event)
int max_events = 10;
#endif
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" :
#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" :
@@
-518,6
+532,7
@@
void HandleFingerEvent(FingerEvent *event)
event->dx, event->dy,
event->pressure);
#endif
event->dx, event->dy,
event->pressure);
#endif
+#endif
#if 0
int x = (int)(event->x * video.width);
#if 0
int x = (int)(event->x * video.width);
@@
-598,12
+613,13
@@
void HandleTextEvent(TextEvent *event)
Key key = getKeyFromKeyName(text);
#if DEBUG_EVENTS
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,
text,
strlen(text),
text[0], (int)(text[0]),
key,
- getKeyNameFromKey(key));
+ getKeyNameFromKey(key),
+ GetKeyModState());
#endif
// if (game_status != GAME_MODE_PLAYING && GetKeyModState() != KMOD_None)
#endif
// if (game_status != GAME_MODE_PLAYING && GetKeyModState() != KMOD_None)
@@
-1092,9
+1108,11
@@
void HandleKey(Key key, int key_status)
{
setup.fullscreen = !setup.fullscreen;
{
setup.fullscreen = !setup.fullscreen;
+#if 0
printf("::: %d\n", setup.window_scaling_percent);
printf("::: %d\n", setup.window_scaling_percent);
+#endif
- ToggleFullscreenIfNeeded();
+ ToggleFullscreen
OrChangeWindowScaling
IfNeeded();
if (game_status == GAME_MODE_SETUP)
RedrawSetupScreenAfterFullscreenToggle();
if (game_status == GAME_MODE_SETUP)
RedrawSetupScreenAfterFullscreenToggle();
@@
-1103,7
+1121,7
@@
void HandleKey(Key key, int key_status)
}
if ((key == KSYM_minus || key == KSYM_plus || key == KSYM_0) &&
}
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)
!video.fullscreen_enabled)
{
if (key == KSYM_0)
@@
-1117,7
+1135,7
@@
void HandleKey(Key key, int key_status)
else if (setup.window_scaling_percent > MAX_WINDOW_SCALING_PERCENT)
setup.window_scaling_percent = MAX_WINDOW_SCALING_PERCENT;
else if (setup.window_scaling_percent > MAX_WINDOW_SCALING_PERCENT)
setup.window_scaling_percent = MAX_WINDOW_SCALING_PERCENT;
- ToggleFullscreenIfNeeded();
+ ToggleFullscreen
OrChangeWindowScaling
IfNeeded();
if (game_status == GAME_MODE_SETUP)
RedrawSetupScreenAfterFullscreenToggle();
if (game_status == GAME_MODE_SETUP)
RedrawSetupScreenAfterFullscreenToggle();
@@
-1406,7
+1424,13
@@
void HandleNoEvent()
{
HandleButton(0, 0, -button_status, button_status);
{
HandleButton(0, 0, -button_status, button_status);
+#if 0
return;
return;
+#endif
+ }
+ else
+ {
+ HandleJoystick();
}
#if defined(NETWORK_AVALIABLE)
}
#if defined(NETWORK_AVALIABLE)
@@
-1414,7
+1438,28
@@
void HandleNoEvent()
HandleNetworking();
#endif
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()
}
static int HandleJoystickForAllPlayers()
@@
-1491,18
+1536,20
@@
void HandleJoystick()
HandleHallOfFame(0, 0, dx, dy, !newbutton);
break;
HandleHallOfFame(0, 0, dx, dy, !newbutton);
break;
+#if 0
case GAME_MODE_EDITOR:
HandleLevelEditorIdle();
break;
case GAME_MODE_EDITOR:
HandleLevelEditorIdle();
break;
+#endif
case GAME_MODE_PLAYING:
if (tape.playing || keyboard)
newbutton = ((joy & JOY_BUTTON) != 0);
#if 0
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
#else
- if (
AllPlayersGone && newbutton
)
+ if (
newbutton && AllPlayersGone
)
#endif
{
GameEnd();
#endif
{
GameEnd();