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++)
- overlay.grid_button_all[nr][x][y] = overlay.grid_button[x][y];
- }
+ RedrawSetupScreenAfterScreenRotation(nr);
nr = GRID_ACTIVE_NR();
- overlay.grid_xsize = overlay.grid_xsize_all[nr];
- overlay.grid_ysize = overlay.grid_ysize_all[nr];
+ overlay.grid_xsize = setup.touch.grid_xsize[nr];
+ overlay.grid_ysize = setup.touch.grid_ysize[nr];
for (x = 0; x < MAX_GRID_XSIZE; x++)
for (y = 0; y < MAX_GRID_YSIZE; y++)
- overlay.grid_button[x][y] = overlay.grid_button_all[nr][x][y];
+ overlay.grid_button[x][y] = setup.touch.grid_button[nr][x][y];
}
}
}
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++)
{