removed explicit check for Android for displaying virtual buttons
[rocksndiamonds.git] / src / libgame / system.c
index a35f91d6827b3ffd7d6a772614519c31c350c8d4..3d499768e1a3a088d8559c2d89a4ba8b8e33a6ba 100644 (file)
@@ -87,10 +87,10 @@ void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
 
   program.cookie_prefix = cookie_prefix;
 
+  program.version_super = VERSION_SUPER(program_version);
   program.version_major = VERSION_MAJOR(program_version);
   program.version_minor = VERSION_MINOR(program_version);
   program.version_patch = VERSION_PATCH(program_version);
-  program.version_build = VERSION_BUILD(program_version);
   program.version_ident = program_version;
 
   program.version_string = program_version_string;
@@ -318,14 +318,31 @@ void InitTileCursorInfo()
   tile_cursor.y = 0;
   tile_cursor.target_x = 0;
   tile_cursor.target_y = 0;
+
+  tile_cursor.sx = 0;
+  tile_cursor.sy = 0;
 }
 
 void InitOverlayInfo()
 {
+  int nr = GRID_ACTIVE_NR();
+  int x, y;
+
   overlay.enabled = FALSE;
   overlay.active = FALSE;
 
-#if defined(PLATFORM_ANDROID)
+  overlay.show_grid = FALSE;
+
+  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] = setup.touch.grid_button[nr][x][y];
+
+  overlay.grid_button_highlight = CHAR_GRID_BUTTON_NONE;
+
+#if defined(USE_TOUCH_INPUT_OVERLAY)
   if (strEqual(setup.touch.control_type, TOUCH_CONTROL_VIRTUAL_BUTTONS))
     overlay.enabled = TRUE;
 #endif
@@ -348,8 +365,8 @@ void SetTileCursorTargetXY(int x, int y)
 
   tile_cursor.xpos = x;
   tile_cursor.ypos = y;
-  tile_cursor.target_x = gfx.sx + x * gfx.game_tile_size;
-  tile_cursor.target_y = gfx.sy + y * gfx.game_tile_size;
+  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;
 }
@@ -366,6 +383,12 @@ void SetTileCursorXY(int x, int 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;
@@ -376,6 +399,16 @@ void SetOverlayActive(boolean active)
   overlay.active = active;
 }
 
+void SetOverlayShowGrid(boolean show_grid)
+{
+  overlay.show_grid = show_grid;
+
+  SetOverlayActive(show_grid);
+
+  if (show_grid)
+    SetOverlayEnabled(TRUE);
+}
+
 boolean GetOverlayActive()
 {
   return overlay.active;