int x, y;
if (game_status == GAME_MODE_SETUP)
- {
- // save active virtual buttons (in case of just configuring them)
- for (x = 0; x < MAX_GRID_XSIZE; x++)
- for (y = 0; y < MAX_GRID_YSIZE; y++)
- setup.touch.grid_button[nr][x][y] = overlay.grid_button[x][y];
- }
+ RedrawSetupScreenAfterScreenRotation(nr);
nr = GRID_ACTIVE_NR();
int x = event->x * overlay.grid_xsize;
int y = event->y * overlay.grid_ysize;
int grid_button = overlay.grid_button[x][y];
+ int grid_button_action = GET_ACTION_FROM_GRID_BUTTON(grid_button);
Key key = (grid_button == CHAR_GRID_BUTTON_LEFT ? setup.input[0].key.left :
grid_button == CHAR_GRID_BUTTON_RIGHT ? setup.input[0].key.right :
grid_button == CHAR_GRID_BUTTON_UP ? setup.input[0].key.up :
Error(ERR_DEBUG, "::: key '%s' was '%s' [fingerId: %lld]",
getKeyNameFromKey(key), key_status_name, event->fingerId);
+ if (key_status == KEY_PRESSED)
+ overlay.grid_button_action |= grid_button_action;
+ else
+ overlay.grid_button_action &= ~grid_button_action;
+
// check if we already know this touch event's finger id
for (i = 0; i < NUM_TOUCH_FINGERS; i++)
{
{
InsertSolutionTape();
}
+ else if (is_string_suffix(cheat_input, ":play-solution-tape") ||
+ is_string_suffix(cheat_input, ":pst"))
+ {
+ PlaySolutionTape();
+ }
else if (is_string_suffix(cheat_input, ":reload-graphics") ||
is_string_suffix(cheat_input, ":rg"))
{