X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=3d499768e1a3a088d8559c2d89a4ba8b8e33a6ba;hb=bfae6eed033adc10e9f816182dd7812ae9cb3a0a;hp=a35f91d6827b3ffd7d6a772614519c31c350c8d4;hpb=de9f167f6960194e913af2a768456d502d4fdf1a;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index a35f91d6..3d499768 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -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;