projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rocksndiamonds-3.3.0.0
[rocksndiamonds.git]
/
src
/
events.c
diff --git
a/src/events.c
b/src/events.c
index 65b06803a9e62f2f7693939f74a6df4ae9f605e6..9a42eb47c16e74f5b7c6edfa7140c2f9712e5091 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-127,7
+127,7
@@
void EventLoop(void)
while (NextValidEvent(&event))
{
while (NextValidEvent(&event))
{
- switch(event.type)
+ switch
(event.type)
{
case EVENT_BUTTONPRESS:
case EVENT_BUTTONRELEASE:
{
case EVENT_BUTTONPRESS:
case EVENT_BUTTONRELEASE:
@@
-194,7
+194,7
@@
void EventLoop(void)
void HandleOtherEvents(Event *event)
{
void HandleOtherEvents(Event *event)
{
- switch(event->type)
+ switch
(event->type)
{
case EVENT_EXPOSE:
HandleExposeEvent((ExposeEvent *) event);
{
case EVENT_EXPOSE:
HandleExposeEvent((ExposeEvent *) event);
@@
-223,6
+223,10
@@
void HandleOtherEvents(Event *event)
case SDL_JOYBUTTONUP:
HandleJoystickEvent(event);
break;
case SDL_JOYBUTTONUP:
HandleJoystickEvent(event);
break;
+
+ case SDL_SYSWMEVENT:
+ HandleWindowManagerEvent(event);
+ break;
#endif
default:
#endif
default:
@@
-238,7
+242,7
@@
void ClearEventQueue()
NextEvent(&event);
NextEvent(&event);
- switch(event.type)
+ switch
(event.type)
{
case EVENT_BUTTONRELEASE:
button_status = MB_RELEASED;
{
case EVENT_BUTTONRELEASE:
button_status = MB_RELEASED;
@@
-281,7
+285,7
@@
void SleepWhileUnmapped()
NextEvent(&event);
NextEvent(&event);
- switch(event.type)
+ switch
(event.type)
{
case EVENT_BUTTONRELEASE:
button_status = MB_RELEASED;
{
case EVENT_BUTTONRELEASE:
button_status = MB_RELEASED;
@@
-413,6
+417,13
@@
void HandleClientMessageEvent(ClientMessageEvent *event)
CloseAllAndExit(0);
}
CloseAllAndExit(0);
}
+void HandleWindowManagerEvent(Event *event)
+{
+#if defined(TARGET_SDL)
+ SDLHandleWindowManagerEvent(event);
+#endif
+}
+
void HandleButton(int mx, int my, int button, int button_nr)
{
static int old_mx = 0, old_my = 0;
void HandleButton(int mx, int my, int button, int button_nr)
{
static int old_mx = 0, old_my = 0;
@@
-566,6
+577,11
@@
static void HandleKeysSpecial(Key key)
{
DumpTape(&tape);
}
{
DumpTape(&tape);
}
+ else if (is_string_suffix(cheat_input, ":save-native-level") ||
+ is_string_suffix(cheat_input, ":snl"))
+ {
+ SaveNativeLevel(&level);
+ }
}
else if (game_status == GAME_MODE_PLAYING)
{
}
else if (game_status == GAME_MODE_PLAYING)
{
@@
-667,8
+683,18
@@
void HandleKey(Key key, int key_status)
element_dropped[pnr] = FALSE;
}
}
element_dropped[pnr] = FALSE;
}
}
+#if 1
+ else if (tape.recording && tape.pausing)
+ {
+ /* prevent key release events from un-pausing a paused game */
+ if (key_status == KEY_PRESSED &&
+ (key_action & KEY_ACTION))
+ TapeTogglePause(TAPE_TOGGLE_MANUAL);
+ }
+#else
else if (tape.recording && tape.pausing && (key_action & KEY_ACTION))
TapeTogglePause(TAPE_TOGGLE_MANUAL);
else if (tape.recording && tape.pausing && (key_action & KEY_ACTION))
TapeTogglePause(TAPE_TOGGLE_MANUAL);
+#endif
}
}
else
}
}
else
@@
-701,12
+727,14
@@
void HandleKey(Key key, int key_status)
ToggleFullscreenIfNeeded();
ToggleFullscreenIfNeeded();
+ if (game_status == GAME_MODE_SETUP)
+ RedrawSetupScreenAfterFullscreenToggle();
+
return;
}
return;
}
-#if 1
- if (game_status == GAME_MODE_PLAYING &&
- local_player->LevelSolved_GameEnd &&
+#if 0
+ if (game_status == GAME_MODE_PLAYING && local_player->LevelSolved_GameEnd &&
(key == KSYM_Return || key == setup.shortcut.toggle_pause))
#else
if (game_status == GAME_MODE_PLAYING && AllPlayersGone &&
(key == KSYM_Return || key == setup.shortcut.toggle_pause))
#else
if (game_status == GAME_MODE_PLAYING && AllPlayersGone &&
@@
-721,7
+749,7
@@
void HandleKey(Key key, int key_status)
if (game_status == GAME_MODE_MAIN &&
(key == setup.shortcut.toggle_pause || key == KSYM_space))
{
if (game_status == GAME_MODE_MAIN &&
(key == setup.shortcut.toggle_pause || key == KSYM_space))
{
- StartGameActions(options.network, setup.autorecord,
NEW_RANDOMIZE
);
+ StartGameActions(options.network, setup.autorecord,
level.random_seed
);
return;
}
return;
}
@@
-734,6
+762,9
@@
void HandleKey(Key key, int key_status)
TapeQuickLoad();
else if (key == setup.shortcut.toggle_pause)
TapeTogglePause(TAPE_TOGGLE_MANUAL);
TapeQuickLoad();
else if (key == setup.shortcut.toggle_pause)
TapeTogglePause(TAPE_TOGGLE_MANUAL);
+
+ HandleTapeButtonKeys(key);
+ HandleSoundButtonKeys(key);
}
if (game_status == GAME_MODE_PLAYING && !network_playing)
}
if (game_status == GAME_MODE_PLAYING && !network_playing)
@@
-768,7
+799,7
@@
void HandleKey(Key key, int key_status)
key = KSYM_UNDEFINED;
}
key = KSYM_UNDEFINED;
}
- switch(game_status)
+ switch
(game_status)
{
case GAME_MODE_PSEUDO_TYPENAME:
HandleTypeName(0, key);
{
case GAME_MODE_PSEUDO_TYPENAME:
HandleTypeName(0, key);
@@
-780,7
+811,7
@@
void HandleKey(Key key, int key_status)
case GAME_MODE_SETUP:
case GAME_MODE_INFO:
case GAME_MODE_SCORES:
case GAME_MODE_SETUP:
case GAME_MODE_INFO:
case GAME_MODE_SCORES:
- switch(key)
+ switch
(key)
{
case KSYM_space:
case KSYM_Return:
{
case KSYM_space:
case KSYM_Return:
@@
-799,6
+830,9
@@
void HandleKey(Key key, int key_status)
break;
case KSYM_Escape:
break;
case KSYM_Escape:
+ if (game_status != GAME_MODE_MAIN)
+ FadeSkipNextFadeIn();
+
if (game_status == GAME_MODE_TITLE)
HandleTitleScreen(0, 0, 0, 0, MB_MENU_LEAVE);
else if (game_status == GAME_MODE_LEVELS)
if (game_status == GAME_MODE_TITLE)
HandleTitleScreen(0, 0, 0, 0, MB_MENU_LEAVE);
else if (game_status == GAME_MODE_LEVELS)
@@
-837,6
+871,12
@@
void HandleKey(Key key, int key_status)
case KSYM_0:
GameFrameDelay = (GameFrameDelay == 500 ? GAME_FRAME_DELAY : 500);
break;
case KSYM_0:
GameFrameDelay = (GameFrameDelay == 500 ? GAME_FRAME_DELAY : 500);
break;
+
+ case KSYM_b:
+ setup.sp_show_border_elements = !setup.sp_show_border_elements;
+ printf("Supaplex border elements %s\n",
+ setup.sp_show_border_elements ? "enabled" : "disabled");
+ break;
#endif
default:
#endif
default:
@@
-851,7
+891,7
@@
void HandleKey(Key key, int key_status)
case GAME_MODE_PLAYING:
{
case GAME_MODE_PLAYING:
{
- switch(key)
+ switch
(key)
{
case KSYM_Escape:
RequestQuitGame(setup.ask_on_escape);
{
case KSYM_Escape:
RequestQuitGame(setup.ask_on_escape);
@@
-1016,7
+1056,7
@@
void HandleJoystick()
int dx = (left ? -1 : right ? 1 : 0);
int dy = (up ? -1 : down ? 1 : 0);
int dx = (left ? -1 : right ? 1 : 0);
int dy = (up ? -1 : down ? 1 : 0);
- switch(game_status)
+ switch
(game_status)
{
case GAME_MODE_TITLE:
case GAME_MODE_MAIN:
{
case GAME_MODE_TITLE:
case GAME_MODE_MAIN:
@@
-1055,7
+1095,7
@@
void HandleJoystick()
if (tape.playing || keyboard)
newbutton = ((joy & JOY_BUTTON) != 0);
if (tape.playing || keyboard)
newbutton = ((joy & JOY_BUTTON) != 0);
-#if
1
+#if
0
if (local_player->LevelSolved_GameEnd && newbutton)
#else
if (AllPlayersGone && newbutton)
if (local_player->LevelSolved_GameEnd && newbutton)
#else
if (AllPlayersGone && newbutton)