#include "tape.h"
#include "network.h"
-/* values for key_status */
-#define KEY_NOT_PRESSED FALSE
-#define KEY_RELEASED FALSE
-#define KEY_PRESSED TRUE
-
static boolean cursor_inside_playfield = FALSE;
static boolean playfield_cursor_set = FALSE;
}
/* skip mouse motion events without pressed button outside level editor */
- if (button_status == MB_RELEASED && game_status != GAME_MODE_EDITOR)
+ if (button_status == MB_RELEASED && game_status != GAME_MODE_EDITOR &&
+ game_status != GAME_MODE_PLAYING)
return 0;
else
return 1;
int key_status = (event->type==EVENT_KEYPRESS ? KEY_PRESSED : KEY_RELEASED);
boolean with_modifiers = (game_status == GAME_MODE_PLAYING ? FALSE : TRUE);
Key key = GetEventKey(event, with_modifiers);
+ Key keymod = (with_modifiers ? GetEventKey(event, FALSE) : key);
+ HandleKeyModState(keymod, key_status);
HandleKey(key, key_status);
}
if (!IN_LEV_FIELD(x, y))
break;
- printf(" Feld[%d][%d] == %d\n", x,y, Feld[x][y]);
+ printf(" Feld[%d][%d] == %d ('%s')\n", x,y, Feld[x][y],
+ element_info[Feld[x][y]].token_name);
printf(" Store[%d][%d] == %d\n", x,y, Store[x][y]);
printf(" Store2[%d][%d] == %d\n", x,y, Store2[x][y]);
printf(" StorePlayer[%d][%d] == %d\n", x,y, StorePlayer[x][y]);
printf(" MovPos[%d][%d] == %d\n", x,y, MovPos[x][y]);
printf(" MovDir[%d][%d] == %d\n", x,y, MovDir[x][y]);
printf(" MovDelay[%d][%d] == %d\n", x,y, MovDelay[x][y]);
+ printf(" ChangeDelay[%d][%d] == %d\n", x,y, ChangeDelay[x][y]);
printf(" GfxElement[%d][%d] == %d\n", x,y, GfxElement[x][y]);
+ printf(" GfxAction[%d][%d] == %d\n", x,y, GfxAction[x][y]);
printf("\n");
}
}
case KSYM_Page_Up:
if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,0, 0,-SCR_FIELDY, MB_MENU_MARK);
+ HandleChooseLevel(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,0, 0,-SCR_FIELDY, MB_MENU_MARK);
+ HandleSetupScreen(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
break;
case KSYM_Page_Down:
if (game_status == GAME_MODE_LEVELS)
- HandleChooseLevel(0,0, 0,SCR_FIELDY, MB_MENU_MARK);
+ HandleChooseLevel(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
else if (game_status == GAME_MODE_SETUP)
- HandleSetupScreen(0,0, 0,SCR_FIELDY, MB_MENU_MARK);
+ HandleSetupScreen(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
break;
#ifdef DEBUG
break;
case KSYM_Page_Up:
- HandleHallOfFame(0,0, 0,-SCR_FIELDY, MB_MENU_MARK);
+ HandleHallOfFame(0,0, 0, -1 * SCROLL_PAGE, MB_MENU_MARK);
break;
case KSYM_Page_Down:
- HandleHallOfFame(0,0, 0,SCR_FIELDY, MB_MENU_MARK);
+ HandleHallOfFame(0,0, 0, +1 * SCROLL_PAGE, MB_MENU_MARK);
break;
default: