projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20060816-1-src
[rocksndiamonds.git]
/
src
/
events.c
diff --git
a/src/events.c
b/src/events.c
index 134a5e73f536a54d9ac7288c7502df7a69a62ce5..4cb4b1098cf4986948122441f566b1f508cb25cd 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-315,6
+315,11
@@
void HandleExposeEvent(ExposeEvent *event)
void HandleButtonEvent(ButtonEvent *event)
{
void HandleButtonEvent(ButtonEvent *event)
{
+#if 0
+ printf("::: BUTTON EVENT: button %d %s\n", event->button,
+ event->type == EVENT_BUTTONPRESS ? "pressed" : "released");
+#endif
+
motion_status = FALSE;
if (event->type == EVENT_BUTTONPRESS)
motion_status = FALSE;
if (event->type == EVENT_BUTTONPRESS)
@@
-322,7
+327,7
@@
void HandleButtonEvent(ButtonEvent *event)
else
button_status = MB_RELEASED;
else
button_status = MB_RELEASED;
- HandleButton(event->x, event->y, button_status);
+ HandleButton(event->x, event->y, button_status
, event->button
);
}
void HandleMotionEvent(MotionEvent *event)
}
void HandleMotionEvent(MotionEvent *event)
@@
-335,7
+340,7
@@
void HandleMotionEvent(MotionEvent *event)
motion_status = TRUE;
motion_status = TRUE;
- HandleButton(event->x, event->y, button_status);
+ HandleButton(event->x, event->y, button_status
, button_status
);
}
void HandleKeyEvent(KeyEvent *event)
}
void HandleKeyEvent(KeyEvent *event)
@@
-345,6
+350,11
@@
void HandleKeyEvent(KeyEvent *event)
Key key = GetEventKey(event, with_modifiers);
Key keymod = (with_modifiers ? GetEventKey(event, FALSE) : key);
Key key = GetEventKey(event, with_modifiers);
Key keymod = (with_modifiers ? GetEventKey(event, FALSE) : key);
+#if 0
+ printf("::: KEY EVENT: %d %s\n", GetEventKey(event, TRUE),
+ event->type == EVENT_KEYPRESS ? "pressed" : "released");
+#endif
+
HandleKeyModState(keymod, key_status);
HandleKey(key, key_status);
}
HandleKeyModState(keymod, key_status);
HandleKey(key, key_status);
}
@@
-396,7
+406,7
@@
void HandleClientMessageEvent(ClientMessageEvent *event)
CloseAllAndExit(0);
}
CloseAllAndExit(0);
}
-void HandleButton(int mx, int my, int button)
+void HandleButton(int mx, int my, int button
, int button_nr
)
{
static int old_mx = 0, old_my = 0;
{
static int old_mx = 0, old_my = 0;
@@
-418,14
+428,18
@@
void HandleButton(int mx, int my, int button)
mx = my = -32; /* force mouse event to be outside screen tiles */
}
mx = my = -32; /* force mouse event to be outside screen tiles */
}
- switch(game_status)
+ /* do not use scroll wheel button events for anything other than gadgets */
+ if (IS_WHEEL_BUTTON(button_nr))
+ return;
+
+ switch (game_status)
{
case GAME_MODE_TITLE:
{
case GAME_MODE_TITLE:
- HandleTitleScreen(mx,
my, 0,
0, button);
+ HandleTitleScreen(mx,
my, 0,
0, button);
break;
case GAME_MODE_MAIN:
break;
case GAME_MODE_MAIN:
- HandleMainMenu(mx,
my, 0,
0, button);
+ HandleMainMenu(mx,
my, 0,
0, button);
break;
case GAME_MODE_PSEUDO_TYPENAME:
break;
case GAME_MODE_PSEUDO_TYPENAME:
@@
-433,11
+447,11
@@
void HandleButton(int mx, int my, int button)
break;
case GAME_MODE_LEVELS:
break;
case GAME_MODE_LEVELS:
- HandleChooseLevel(mx,
my, 0,
0, button);
+ HandleChooseLevel(mx,
my, 0,
0, button);
break;
case GAME_MODE_SCORES:
break;
case GAME_MODE_SCORES:
- HandleHallOfFame(0,
0, 0,
0, button);
+ HandleHallOfFame(0,
0, 0,
0, button);
break;
case GAME_MODE_EDITOR:
break;
case GAME_MODE_EDITOR:
@@
-445,11
+459,11
@@
void HandleButton(int mx, int my, int button)
break;
case GAME_MODE_INFO:
break;
case GAME_MODE_INFO:
- HandleInfoScreen(mx,
my, 0,
0, button);
+ HandleInfoScreen(mx,
my, 0,
0, button);
break;
case GAME_MODE_SETUP:
break;
case GAME_MODE_SETUP:
- HandleSetupScreen(mx,
my, 0,
0, button);
+ HandleSetupScreen(mx,
my, 0,
0, button);
break;
case GAME_MODE_PLAYING:
break;
case GAME_MODE_PLAYING:
@@
-673,12
+687,26
@@
void HandleKey(Key key, int key_status)
if (key_status == KEY_RELEASED)
return;
if (key_status == KEY_RELEASED)
return;
+ if ((key == KSYM_Return || key == KSYM_KP_Enter) &&
+ (GetKeyModState() & KMOD_Alt) && video.fullscreen_available)
+ {
+ setup.fullscreen = !setup.fullscreen;
+
+ ToggleFullscreenIfNeeded();
+
+ return;
+ }
+
if (game_status == GAME_MODE_PLAYING && AllPlayersGone &&
(key == KSYM_Return || key == setup.shortcut.toggle_pause))
{
if (game_status == GAME_MODE_PLAYING && AllPlayersGone &&
(key == KSYM_Return || key == setup.shortcut.toggle_pause))
{
+#if 1
+ GameEnd();
+#else
CloseDoor(DOOR_CLOSE_1);
game_status = GAME_MODE_MAIN;
DrawMainMenu();
CloseDoor(DOOR_CLOSE_1);
game_status = GAME_MODE_MAIN;
DrawMainMenu();
+#endif
return;
}
return;
}
@@
-744,54
+772,58
@@
void HandleKey(Key key, int key_status)
case GAME_MODE_LEVELS:
case GAME_MODE_SETUP:
case GAME_MODE_INFO:
case GAME_MODE_LEVELS:
case GAME_MODE_SETUP:
case GAME_MODE_INFO:
+ case GAME_MODE_SCORES:
switch(key)
{
switch(key)
{
-#if 1
case KSYM_space:
case KSYM_space:
-#else
- /* !!! only use "space" key to start game from main menu !!! */
- case KSYM_space:
-#endif
case KSYM_Return:
if (game_status == GAME_MODE_TITLE)
case KSYM_Return:
if (game_status == GAME_MODE_TITLE)
- HandleTitleScreen(0,
0, 0,
0, MB_MENU_CHOICE);
+ HandleTitleScreen(0,
0, 0,
0, MB_MENU_CHOICE);
else if (game_status == GAME_MODE_MAIN)
else if (game_status == GAME_MODE_MAIN)
- HandleMainMenu(0,
0, 0,
0, MB_MENU_CHOICE);
+ HandleMainMenu(0,
0, 0,
0, MB_MENU_CHOICE);
else if (game_status == GAME_MODE_LEVELS)
else if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,
0, 0,
0, MB_MENU_CHOICE);
+ HandleChooseLevel(0,
0, 0,
0, MB_MENU_CHOICE);
else if (game_status == GAME_MODE_SETUP)
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,
0, 0,
0, MB_MENU_CHOICE);
+ HandleSetupScreen(0,
0, 0,
0, MB_MENU_CHOICE);
else if (game_status == GAME_MODE_INFO)
else if (game_status == GAME_MODE_INFO)
- HandleInfoScreen(0,0, 0,0, MB_MENU_CHOICE);
+ HandleInfoScreen(0, 0, 0, 0, MB_MENU_CHOICE);
+ else if (game_status == GAME_MODE_SCORES)
+ HandleHallOfFame(0, 0, 0, 0, MB_MENU_CHOICE);
break;
case KSYM_Escape:
if (game_status == GAME_MODE_TITLE)
break;
case KSYM_Escape:
if (game_status == GAME_MODE_TITLE)
- HandleTitleScreen(0,
0, 0,
0, MB_MENU_LEAVE);
+ HandleTitleScreen(0,
0, 0,
0, MB_MENU_LEAVE);
else if (game_status == GAME_MODE_LEVELS)
else if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,
0, 0,
0, MB_MENU_LEAVE);
+ HandleChooseLevel(0,
0, 0,
0, MB_MENU_LEAVE);
else if (game_status == GAME_MODE_SETUP)
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,
0, 0,
0, MB_MENU_LEAVE);
+ HandleSetupScreen(0,
0, 0,
0, MB_MENU_LEAVE);
else if (game_status == GAME_MODE_INFO)
else if (game_status == GAME_MODE_INFO)
- HandleInfoScreen(0,0, 0,0, MB_MENU_LEAVE);
+ HandleInfoScreen(0, 0, 0, 0, MB_MENU_LEAVE);
+ else if (game_status == GAME_MODE_SCORES)
+ HandleHallOfFame(0, 0, 0, 0, MB_MENU_LEAVE);
break;
case KSYM_Page_Up:
if (game_status == GAME_MODE_LEVELS)
break;
case KSYM_Page_Up:
if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleChooseLevel(0,
0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
else if (game_status == GAME_MODE_SETUP)
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleSetupScreen(0,
0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
else if (game_status == GAME_MODE_INFO)
else if (game_status == GAME_MODE_INFO)
- HandleInfoScreen(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleInfoScreen(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+ else if (game_status == GAME_MODE_SCORES)
+ HandleHallOfFame(0, 0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
break;
case KSYM_Page_Down:
if (game_status == GAME_MODE_LEVELS)
break;
case KSYM_Page_Down:
if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleChooseLevel(0,
0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
else if (game_status == GAME_MODE_SETUP)
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleSetupScreen(0,
0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
else if (game_status == GAME_MODE_INFO)
else if (game_status == GAME_MODE_INFO)
- HandleInfoScreen(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleInfoScreen(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+ else if (game_status == GAME_MODE_SCORES)
+ HandleHallOfFame(0, 0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
break;
#ifdef DEBUG
break;
#ifdef DEBUG
@@
-805,28
+837,37
@@
void HandleKey(Key key, int key_status)
}
break;
}
break;
+#if 0
case GAME_MODE_SCORES:
switch(key)
{
case KSYM_space:
case KSYM_Return:
case GAME_MODE_SCORES:
switch(key)
{
case KSYM_space:
case KSYM_Return:
+ HandleHallOfFame(0, 0, 0, 0, MB_MENU_CHOICE);
+ break;
+
case KSYM_Escape:
case KSYM_Escape:
+#if 1
+ HandleHallOfFame(0, 0, 0, 0, MB_MENU_LEAVE);
+#else
game_status = GAME_MODE_MAIN;
DrawMainMenu();
game_status = GAME_MODE_MAIN;
DrawMainMenu();
+#endif
break;
case KSYM_Page_Up:
break;
case KSYM_Page_Up:
- HandleHallOfFame(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleHallOfFame(0,
0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
break;
case KSYM_Page_Down:
break;
case KSYM_Page_Down:
- HandleHallOfFame(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
+ HandleHallOfFame(0,
0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
break;
default:
break;
}
break;
break;
default:
break;
}
break;
+#endif
case GAME_MODE_EDITOR:
if (!anyTextGadgetActiveOrJustFinished || key == KSYM_Escape)
case GAME_MODE_EDITOR:
if (!anyTextGadgetActiveOrJustFinished || key == KSYM_Escape)
@@
-947,7
+988,8
@@
void HandleNoEvent()
{
if (button_status && game_status != GAME_MODE_PLAYING)
{
{
if (button_status && game_status != GAME_MODE_PLAYING)
{
- HandleButton(0, 0, -button_status);
+ HandleButton(0, 0, -button_status, button_status);
+
return;
}
return;
}
@@
-1014,20
+1056,20
@@
void HandleJoystick()
newbutton = dx = dy = 0;
if (game_status == GAME_MODE_TITLE)
newbutton = dx = dy = 0;
if (game_status == GAME_MODE_TITLE)
- HandleTitleScreen(0,0,dx,dy,newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+ HandleTitleScreen(0,0,dx,dy,
newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
else if (game_status == GAME_MODE_MAIN)
else if (game_status == GAME_MODE_MAIN)
- HandleMainMenu(0,0,dx,dy,newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+ HandleMainMenu(0,0,dx,dy,
newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
else if (game_status == GAME_MODE_LEVELS)
else if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,0,dx,dy,newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+ HandleChooseLevel(0,0,dx,dy,
newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
else if (game_status == GAME_MODE_SETUP)
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,0,dx,dy,newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+ HandleSetupScreen(0,0,dx,dy,
newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
else if (game_status == GAME_MODE_INFO)
else if (game_status == GAME_MODE_INFO)
- HandleInfoScreen(0,0,dx,dy,newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+ HandleInfoScreen(0,0,dx,dy,
newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
break;
}
case GAME_MODE_SCORES:
break;
}
case GAME_MODE_SCORES:
- HandleHallOfFame(0,
0, dx,
dy, !newbutton);
+ HandleHallOfFame(0,
0, dx,
dy, !newbutton);
break;
case GAME_MODE_EDITOR:
break;
case GAME_MODE_EDITOR:
@@
-1040,9
+1082,14
@@
void HandleJoystick()
if (AllPlayersGone && newbutton)
{
if (AllPlayersGone && newbutton)
{
+#if 1
+ GameEnd();
+#else
CloseDoor(DOOR_CLOSE_1);
game_status = GAME_MODE_MAIN;
DrawMainMenu();
CloseDoor(DOOR_CLOSE_1);
game_status = GAME_MODE_MAIN;
DrawMainMenu();
+#endif
+
return;
}
return;
}