+
+ overlay.show_grid = FALSE;
+ overlay.show_grid_buttons = FALSE;
+
+ for (i = 0; i < 2; i++)
+ {
+ int grid_xsize = DEFAULT_GRID_XSIZE(i);
+ int grid_ysize = DEFAULT_GRID_YSIZE(i);
+ int min_xsize = MIN(6, grid_xsize);
+ int min_ysize = MIN(6, grid_ysize);
+ int startx = grid_xsize - min_xsize;
+ int starty = grid_ysize - min_ysize;
+
+ overlay.grid_xsize_all[i] = grid_xsize;
+ overlay.grid_ysize_all[i] = grid_ysize;
+
+ for (x = 0; x < MAX_GRID_XSIZE; x++)
+ for (y = 0; y < MAX_GRID_YSIZE; y++)
+ overlay.grid_button_all[i][x][y] = CHAR_GRID_BUTTON_NONE;
+
+ for (x = 0; x < min_xsize; x++)
+ for (y = 0; y < min_ysize; y++)
+ overlay.grid_button_all[i][x][starty + y] =
+ default_grid_button[y][0][x];
+
+ for (x = 0; x < min_xsize; x++)
+ for (y = 0; y < min_ysize; y++)
+ overlay.grid_button_all[i][startx + x][starty + y] =
+ default_grid_button[y][1][x];
+ }
+
+ overlay.grid_xsize = overlay.grid_xsize_all[nr];
+ overlay.grid_ysize = overlay.grid_ysize_all[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_highlight = CHAR_GRID_BUTTON_NONE;
+
+#if defined(PLATFORM_ANDROID)
+ if (strEqual(setup.touch.control_type, TOUCH_CONTROL_VIRTUAL_BUTTONS))
+ overlay.enabled = TRUE;
+#endif
+}
+
+void SetTileCursorEnabled(boolean enabled)
+{
+ tile_cursor.enabled = enabled;
+}
+
+void SetTileCursorActive(boolean active)
+{
+ tile_cursor.active = active;
+}
+
+void SetTileCursorTargetXY(int x, int y)
+{
+ // delayed placement of tile selection cursor at target position
+ // (tile cursor will be moved to target position step by step)
+
+ tile_cursor.xpos = x;
+ tile_cursor.ypos = y;
+ tile_cursor.target_x = tile_cursor.sx + x * gfx.game_tile_size;
+ tile_cursor.target_y = tile_cursor.sy + y * gfx.game_tile_size;
+
+ tile_cursor.moving = TRUE;
+}
+
+void SetTileCursorXY(int x, int y)
+{
+ // immediate placement of tile selection cursor at target position
+
+ SetTileCursorTargetXY(x, y);
+
+ tile_cursor.x = tile_cursor.target_x;
+ tile_cursor.y = tile_cursor.target_y;
+
+ tile_cursor.moving = FALSE;
+}
+
+void SetTileCursorSXSY(int sx, int sy)
+{
+ tile_cursor.sx = sx;
+ tile_cursor.sy = sy;
+}
+
+void SetOverlayEnabled(boolean enabled)
+{
+ overlay.enabled = enabled;