/* game.c generated by valac 0.34.0, the Vala compiler
 * generated from game.vala, do not modify */

/* Copyright (C) 2014-2015 Juan R. García Blanco <juanrgar@gmail.com>
 * Copyright (C) 2016 Arnaud Bonatti <arnaud.bonatti@gmail.com>
 *
 * This file is part of GNOME 2048.
 *
 * GNOME 2048 is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * GNOME 2048 is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GNOME 2048; if not, see <http://www.gnu.org/licenses/>.
 */

#include <glib.h>
#include <glib-object.h>
#include <clutter/clutter.h>
#include <gee.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gstdio.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>


#define TYPE_GAME (game_get_type ())
#define GAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GAME, Game))
#define GAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GAME, GameClass))
#define IS_GAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GAME))
#define IS_GAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GAME))
#define GAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GAME, GameClass))

typedef struct _Game Game;
typedef struct _GameClass GameClass;
typedef struct _GamePrivate GamePrivate;

#define TYPE_GRID (grid_get_type ())
#define GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GRID, Grid))
#define GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GRID, GridClass))
#define IS_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GRID))
#define IS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GRID))
#define GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GRID, GridClass))

typedef struct _Grid Grid;
typedef struct _GridClass GridClass;

#define TYPE_ROUNDED_RECTANGLE (rounded_rectangle_get_type ())
#define ROUNDED_RECTANGLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROUNDED_RECTANGLE, RoundedRectangle))
#define ROUNDED_RECTANGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROUNDED_RECTANGLE, RoundedRectangleClass))
#define IS_ROUNDED_RECTANGLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROUNDED_RECTANGLE))
#define IS_ROUNDED_RECTANGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROUNDED_RECTANGLE))
#define ROUNDED_RECTANGLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROUNDED_RECTANGLE, RoundedRectangleClass))

typedef struct _RoundedRectangle RoundedRectangle;
typedef struct _RoundedRectangleClass RoundedRectangleClass;

#define TYPE_TILE_VIEW (tile_view_get_type ())
#define TILE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TILE_VIEW, TileView))
#define TILE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TILE_VIEW, TileViewClass))
#define IS_TILE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TILE_VIEW))
#define IS_TILE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TILE_VIEW))
#define TILE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TILE_VIEW, TileViewClass))

typedef struct _TileView TileView;
typedef struct _TileViewClass TileViewClass;

#define TYPE_TILE_MOVEMENT (tile_movement_get_type ())

#define TYPE_GRID_POSITION (grid_position_get_type ())
typedef struct _GridPosition GridPosition;
typedef struct _TileMovement TileMovement;

#define TYPE_TILE (tile_get_type ())
typedef struct _Tile Tile;

#define GAME_TYPE_GAME_STATE (game_game_state_get_type ())
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _tile_movement_free0(var) ((var == NULL) ? NULL : (var = (tile_movement_free (var), NULL)))
#define _tile_free0(var) ((var == NULL) ? NULL : (var = (tile_free (var), NULL)))
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _Game {
	GObject parent_instance;
	GamePrivate * priv;
};

struct _GameClass {
	GObjectClass parent_class;
};

struct _GridPosition {
	guint row;
	guint col;
};

struct _TileMovement {
	GridPosition from;
	GridPosition to;
};

struct _Tile {
	GridPosition pos;
	guint val;
};

typedef enum  {
	GAME_GAME_STATE_STOPPED,
	GAME_GAME_STATE_IDLE,
	GAME_GAME_STATE_MOVING_DOWN,
	GAME_GAME_STATE_MOVING_UP,
	GAME_GAME_STATE_MOVING_RIGHT,
	GAME_GAME_STATE_MOVING_LEFT,
	GAME_GAME_STATE_SHOWING_FIRST_TILE,
	GAME_GAME_STATE_SHOWING_SECOND_TILE,
	GAME_GAME_STATE_RESTORING_TILES
} GameGameState;

struct _GamePrivate {
	gint BLANK_ROW_HEIGHT;
	gint BLANK_COL_WIDTH;
	Grid* _grid;
	guint _finish_move_id;
	ClutterActor* _view;
	ClutterActor* _view_background;
	ClutterActor* _view_foreground;
	RoundedRectangle** _background;
	gint _background_length1;
	gint _background_length2;
	TileView** _foreground_cur;
	gint _foreground_cur_length1;
	gint _foreground_cur_length2;
	TileView** _foreground_nxt;
	gint _foreground_nxt_length1;
	gint _foreground_nxt_length2;
	GeeLinkedList* _to_move;
	GeeLinkedList* _to_hide;
	GeeLinkedList* _to_show;
	GameGameState _state;
	ClutterTransitionGroup* _show_hide_trans;
	ClutterTransitionGroup* _move_trans;
	gint _animations_duration;
	gboolean _allow_undo;
	guint _undo_stack_max_size;
	GeeLinkedList* _undo_stack;
	GeeLinkedList* _undo_score_stack;
	GSettings* _settings;
	gchar* _saved_path;
	guint _resize_view_id;
	guint _score;
};


static gpointer game_parent_class = NULL;

GType game_get_type (void) G_GNUC_CONST;
GType grid_get_type (void) G_GNUC_CONST;
GType rounded_rectangle_get_type (void) G_GNUC_CONST;
GType tile_view_get_type (void) G_GNUC_CONST;
GType tile_movement_get_type (void) G_GNUC_CONST;
GType grid_position_get_type (void) G_GNUC_CONST;
GridPosition* grid_position_dup (const GridPosition* self);
void grid_position_free (GridPosition* self);
TileMovement* tile_movement_dup (const TileMovement* self);
void tile_movement_free (TileMovement* self);
GType tile_get_type (void) G_GNUC_CONST;
Tile* tile_dup (const Tile* self);
void tile_free (Tile* self);
static GType game_game_state_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define GAME_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_GAME, GamePrivate))
enum  {
	GAME_DUMMY_PROPERTY,
	GAME_VIEW,
	GAME_SCORE
};
Game* game_new (GSettings* settings);
Game* game_construct (GType object_type, GSettings* settings);
Grid* grid_new (gint rows, gint cols);
Grid* grid_construct (GType object_type, gint rows, gint cols);
void game_new_game (Game* self);
void grid_clear (Grid* self);
static void _game_init_background (Game* self);
static void _game_clear_foreground (Game* self);
void game_set_score (Game* self, guint value);
static void _game_create_random_tile (Game* self);
void game_undo (Game* self);
static void _game_restore_foreground (Game* self, gboolean animate);
guint game_get_score (Game* self);
void game_save_game (Game* self);
gchar* grid_save (Grid* self);
gboolean game_restore_game (Game* self);
gboolean grid_load (Grid* self, const gchar* content);
static void _game_clear_background (Game* self);
gboolean game_key_pressed (Game* self, GdkEventKey* event);
static guint _game_upper_key (Game* self, guint keyval);
static void _game_move_down (Game* self);
static void _game_move_up (Game* self);
static void _game_move_left (Game* self);
static void _game_move_right (Game* self);
gboolean game_reload_settings (Game* self);
gint grid_get_rows (Grid* self);
gint grid_get_cols (Grid* self);
static void _game_on_allocation_changed (Game* self, ClutterActorBox* box, ClutterAllocationFlags flags);
static void _game_resize_view (Game* self);
RoundedRectangle* rounded_rectangle_new (gfloat x, gfloat y, gfloat width, gfloat height, ClutterColor* color);
RoundedRectangle* rounded_rectangle_construct (GType object_type, gfloat x, gfloat y, gfloat width, gfloat height, ClutterColor* color);
ClutterActor* rounded_rectangle_get_actor (RoundedRectangle* self);
ClutterCanvas* rounded_rectangle_get_canvas (RoundedRectangle* self);
void rounded_rectangle_resize (RoundedRectangle* self, gfloat x, gfloat y, gfloat width, gfloat height);
static gboolean _game_idle_resize_view (Game* self);
static gboolean __game_idle_resize_view_gsource_func (gpointer self);
void rounded_rectangle_idle_resize (RoundedRectangle* self);
gboolean grid_new_tile (Grid* self, Tile* tile);
static void _game_create_show_hide_transition (Game* self, gboolean animate);
static void _game_create_tile (Game* self, Tile* tile);
static void _game_show_tile (Game* self, GridPosition* pos);
TileView* tile_view_new (gfloat x, gfloat y, gfloat width, gfloat height, guint val);
TileView* tile_view_construct (GType object_type, gfloat x, gfloat y, gfloat width, gfloat height, guint val);
static void _game_store_movement (Game* self);
static void _game_on_move_trans_stopped (Game* self, gboolean is_finished);
static void __game_on_move_trans_stopped_clutter_timeline_stopped (ClutterTimeline* _sender, gboolean is_finished, gpointer self);
void grid_move_down (Grid* self, GeeLinkedList* to_move, GeeLinkedList* to_hide, GeeLinkedList* to_show);
static void _game_move_tile (Game* self, GridPosition* from, GridPosition* to);
static void _game_prepare_move_tile (Game* self, GridPosition* from, GridPosition* to);
void grid_move_up (Grid* self, GeeLinkedList* to_move, GeeLinkedList* to_hide, GeeLinkedList* to_show);
void grid_move_left (Grid* self, GeeLinkedList* to_move, GeeLinkedList* to_hide, GeeLinkedList* to_show);
void grid_move_right (Grid* self, GeeLinkedList* to_move, GeeLinkedList* to_hide, GeeLinkedList* to_show);
gchar* grid_position_to_string (GridPosition *self);
static void _game_dim_tile (Game* self, GridPosition* pos);
guint tile_view_get_value (TileView* self);
guint grid_get (Grid* self, gint row, gint col);
gchar* grid_to_string (Grid* self);
static void _game_store_score_update (Game* self, guint delta_score);
static void _game_on_show_hide_trans_stopped (Game* self, gboolean is_finished);
static gboolean _game_finish_move (Game* self);
static gboolean __game_finish_move_gsource_func (gpointer self);
static void __game_on_show_hide_trans_stopped_clutter_timeline_stopped (ClutterTimeline* _sender, gboolean is_finished, gpointer self);
gboolean grid_get_target_value_reached (Grid* self);
guint grid_get_target_value (Grid* self);
void grid_set_target_value_reached (Grid* self, gboolean value);
gboolean grid_is_finished (Grid* self);
Grid* grid_clone (Grid* self);
ClutterActor* game_get_view (Game* self);
void game_set_view (Game* self, ClutterActor* value);
static void __game_on_allocation_changed_clutter_actor_allocation_changed (ClutterActor* _sender, ClutterActorBox* box, ClutterAllocationFlags flags, gpointer self);
static void game_finalize (GObject* obj);
static void _vala_game_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_game_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);


static GType game_game_state_get_type (void) {
	static volatile gsize game_game_state_type_id__volatile = 0;
	if (g_once_init_enter (&game_game_state_type_id__volatile)) {
		static const GEnumValue values[] = {{GAME_GAME_STATE_STOPPED, "GAME_GAME_STATE_STOPPED", "stopped"}, {GAME_GAME_STATE_IDLE, "GAME_GAME_STATE_IDLE", "idle"}, {GAME_GAME_STATE_MOVING_DOWN, "GAME_GAME_STATE_MOVING_DOWN", "moving-down"}, {GAME_GAME_STATE_MOVING_UP, "GAME_GAME_STATE_MOVING_UP", "moving-up"}, {GAME_GAME_STATE_MOVING_RIGHT, "GAME_GAME_STATE_MOVING_RIGHT", "moving-right"}, {GAME_GAME_STATE_MOVING_LEFT, "GAME_GAME_STATE_MOVING_LEFT", "moving-left"}, {GAME_GAME_STATE_SHOWING_FIRST_TILE, "GAME_GAME_STATE_SHOWING_FIRST_TILE", "showing-first-tile"}, {GAME_GAME_STATE_SHOWING_SECOND_TILE, "GAME_GAME_STATE_SHOWING_SECOND_TILE", "showing-second-tile"}, {GAME_GAME_STATE_RESTORING_TILES, "GAME_GAME_STATE_RESTORING_TILES", "restoring-tiles"}, {0, NULL, NULL}};
		GType game_game_state_type_id;
		game_game_state_type_id = g_enum_register_static ("GameGameState", values);
		g_once_init_leave (&game_game_state_type_id__volatile, game_game_state_type_id);
	}
	return game_game_state_type_id__volatile;
}


static gpointer _g_object_ref0 (gpointer self) {
#line 76 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return self ? g_object_ref (self) : NULL;
#line 284 "game.c"
}


Game* game_construct (GType object_type, GSettings* settings) {
	Game * self = NULL;
	GSettings* _tmp0_ = NULL;
	GSettings* _tmp1_ = NULL;
	gint rows = 0;
	GSettings* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gint cols = 0;
	GSettings* _tmp4_ = NULL;
	gint _tmp5_ = 0;
	Grid* _tmp6_ = NULL;
	GSettings* _tmp7_ = NULL;
	gdouble _tmp8_ = 0.0;
	GSettings* _tmp9_ = NULL;
	Grid* _tmp10_ = NULL;
	GeeLinkedList* _tmp11_ = NULL;
	GeeLinkedList* _tmp12_ = NULL;
	GeeLinkedList* _tmp13_ = NULL;
	ClutterActor* _tmp14_ = NULL;
	ClutterActor* _tmp15_ = NULL;
	ClutterActor* _tmp16_ = NULL;
	ClutterActor* _tmp17_ = NULL;
	GeeLinkedList* _tmp18_ = NULL;
	GeeLinkedList* _tmp19_ = NULL;
	GSettings* _tmp20_ = NULL;
	gboolean _tmp21_ = FALSE;
	GSettings* _tmp22_ = NULL;
	gint _tmp23_ = 0;
	const gchar* _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
#line 72 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (settings != NULL, NULL);
#line 74 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self = (Game*) g_object_new (object_type, NULL);
#line 76 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = settings;
#line 76 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 76 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_settings);
#line 76 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_settings = _tmp1_;
#line 78 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_settings;
#line 78 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = g_settings_get_int (_tmp2_, "rows");
#line 78 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp3_;
#line 79 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_settings;
#line 79 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = g_settings_get_int (_tmp4_, "cols");
#line 79 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp5_;
#line 80 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = grid_new (rows, cols);
#line 80 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_grid);
#line 80 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_grid = _tmp6_;
#line 82 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = self->priv->_settings;
#line 82 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = g_settings_get_double (_tmp7_, "animations-speed");
#line 82 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_animations_duration = (gint) _tmp8_;
#line 84 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = self->priv->_settings;
#line 84 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = self->priv->_grid;
#line 84 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_settings_bind (_tmp9_, "target-value", (GObject*) _tmp10_, "target_value", G_SETTINGS_BIND_DEFAULT);
#line 86 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = gee_linked_list_new (TYPE_TILE_MOVEMENT, (GBoxedCopyFunc) tile_movement_dup, tile_movement_free, NULL, NULL, NULL);
#line 86 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_to_move);
#line 86 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_to_move = _tmp11_;
#line 87 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = gee_linked_list_new (TYPE_TILE_MOVEMENT, (GBoxedCopyFunc) tile_movement_dup, tile_movement_free, NULL, NULL, NULL);
#line 87 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_to_hide);
#line 87 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_to_hide = _tmp12_;
#line 88 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = gee_linked_list_new (TYPE_TILE, (GBoxedCopyFunc) tile_dup, tile_free, NULL, NULL, NULL);
#line 88 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_to_show);
#line 88 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_to_show = _tmp13_;
#line 90 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = clutter_actor_new ();
#line 90 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_object_ref_sink (_tmp14_);
#line 90 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_view_background);
#line 90 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_view_background = _tmp14_;
#line 91 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = clutter_actor_new ();
#line 91 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_object_ref_sink (_tmp15_);
#line 91 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_view_foreground);
#line 91 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_view_foreground = _tmp15_;
#line 92 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = self->priv->_view_background;
#line 92 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_show (_tmp16_);
#line 93 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = self->priv->_view_foreground;
#line 93 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_show (_tmp17_);
#line 95 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = gee_linked_list_new (TYPE_GRID, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
#line 95 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_undo_stack);
#line 95 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_undo_stack = _tmp18_;
#line 96 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = gee_linked_list_new (G_TYPE_UINT, NULL, NULL, NULL, NULL, NULL);
#line 96 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_undo_score_stack);
#line 96 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_undo_score_stack = _tmp19_;
#line 97 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = self->priv->_settings;
#line 97 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = g_settings_get_boolean (_tmp20_, "allow-undo");
#line 97 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_allow_undo = _tmp21_;
#line 98 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp22_ = self->priv->_settings;
#line 98 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = g_settings_get_int (_tmp22_, "allow-undo-max");
#line 98 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_undo_stack_max_size = (guint) _tmp23_;
#line 100 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp24_ = g_get_user_data_dir ();
#line 100 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = g_build_filename (_tmp24_, "gnome-2048", "saved", NULL);
#line 100 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (self->priv->_saved_path);
#line 100 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_saved_path = _tmp25_;
#line 102 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_state = GAME_GAME_STATE_STOPPED;
#line 72 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return self;
#line 438 "game.c"
}


Game* game_new (GSettings* settings) {
#line 72 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return game_construct (TYPE_GAME, settings);
#line 445 "game.c"
}


void game_new_game (Game* self) {
	guint _tmp0_ = 0U;
	Grid* _tmp2_ = NULL;
	GeeLinkedList* _tmp3_ = NULL;
	GeeLinkedList* _tmp4_ = NULL;
	RoundedRectangle** _tmp5_ = NULL;
	gint _tmp5__length1 = 0;
	gint _tmp5__length2 = 0;
#line 119 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 121 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_finish_move_id;
#line 121 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp0_ > ((guint) 0)) {
#line 463 "game.c"
		guint _tmp1_ = 0U;
#line 122 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp1_ = self->priv->_finish_move_id;
#line 122 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_source_remove (_tmp1_);
#line 469 "game.c"
	}
#line 123 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_grid;
#line 123 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	grid_clear (_tmp2_);
#line 124 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_undo_stack;
#line 124 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp3_);
#line 125 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_undo_score_stack;
#line 125 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp4_);
#line 127 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_background;
#line 127 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5__length1 = self->priv->_background_length1;
#line 127 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5__length2 = self->priv->_background_length2;
#line 127 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp5_ == NULL) {
#line 128 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_init_background (self);
#line 493 "game.c"
	} else {
#line 130 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_clear_foreground (self);
#line 497 "game.c"
	}
#line 131 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	game_set_score (self, (guint) 0);
#line 132 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_state = GAME_GAME_STATE_SHOWING_FIRST_TILE;
#line 133 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_create_random_tile (self);
#line 134 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_emit_by_name (self, "undo-disabled");
#line 507 "game.c"
}


void game_undo (Game* self) {
	Grid* grid = NULL;
	GeeLinkedList* _tmp0_ = NULL;
	gpointer _tmp1_ = NULL;
	guint delta_score = 0U;
	GeeLinkedList* _tmp2_ = NULL;
	gpointer _tmp3_ = NULL;
	Grid* _tmp4_ = NULL;
	Grid* _tmp5_ = NULL;
	guint _tmp6_ = 0U;
	guint _tmp7_ = 0U;
	GeeLinkedList* _tmp8_ = NULL;
	gint _tmp9_ = 0;
	gint _tmp10_ = 0;
#line 137 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 139 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_undo_stack;
#line 139 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = gee_deque_poll_head ((GeeDeque*) _tmp0_);
#line 139 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	grid = (Grid*) _tmp1_;
#line 140 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_undo_score_stack;
#line 140 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = gee_deque_poll_head ((GeeDeque*) _tmp2_);
#line 140 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	delta_score = (guint) ((guintptr) _tmp3_);
#line 142 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_clear_foreground (self);
#line 143 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid;
#line 143 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 143 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_grid);
#line 143 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_grid = _tmp5_;
#line 144 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_restore_foreground (self, FALSE);
#line 145 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_score;
#line 145 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = delta_score;
#line 145 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	game_set_score (self, _tmp6_ - _tmp7_);
#line 147 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = self->priv->_undo_stack;
#line 147 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp8_);
#line 147 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = _tmp9_;
#line 147 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp10_ == 0) {
#line 148 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_signal_emit_by_name (self, "undo-disabled");
#line 567 "game.c"
	}
#line 137 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (grid);
#line 571 "game.c"
}


void game_save_game (Game* self) {
	gchar* contents = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	Grid* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	guint _tmp7_ = 0U;
	gchar* _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	gchar* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	GError * _inner_error_ = NULL;
#line 151 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 153 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = g_strdup ("");
#line 153 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	contents = _tmp0_;
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = contents;
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_grid;
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = grid_save (_tmp2_);
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = _tmp3_;
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = g_strconcat (_tmp1_, _tmp4_, NULL);
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (contents);
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	contents = _tmp5_;
#line 155 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp4_);
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = contents;
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = self->priv->_score;
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = g_strdup_printf ("%u", _tmp7_);
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = _tmp8_;
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = g_strconcat (_tmp9_, "\n", NULL);
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = _tmp10_;
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = g_strconcat (_tmp6_, _tmp11_, NULL);
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (contents);
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	contents = _tmp12_;
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp11_);
#line 156 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp9_);
#line 635 "game.c"
	{
		const gchar* _tmp13_ = NULL;
		gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		const gchar* _tmp16_ = NULL;
		const gchar* _tmp17_ = NULL;
#line 159 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp13_ = self->priv->_saved_path;
#line 159 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp14_ = g_path_get_dirname (_tmp13_);
#line 159 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp15_ = _tmp14_;
#line 159 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_mkdir_with_parents (_tmp15_, 0775);
#line 159 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_free0 (_tmp15_);
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp16_ = self->priv->_saved_path;
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp17_ = contents;
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_file_set_contents (_tmp16_, _tmp17_, (gssize) -1, &_inner_error_);
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (_inner_error_->domain == G_FILE_ERROR) {
#line 662 "game.c"
				goto __catch6_g_file_error;
			}
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_free0 (contents);
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			g_clear_error (&_inner_error_);
#line 160 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			return;
#line 673 "game.c"
		}
#line 161 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_debug ("game.vala:161: game saved successfully");
#line 677 "game.c"
	}
	goto __finally6;
	__catch6_g_file_error:
	{
		GError* e = NULL;
		GError* _tmp18_ = NULL;
		const gchar* _tmp19_ = NULL;
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		e = _inner_error_;
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_inner_error_ = NULL;
#line 163 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp18_ = e;
#line 163 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp19_ = _tmp18_->message;
#line 163 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_warning ("game.vala:163: Failed to save game: %s", _tmp19_);
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_error_free0 (e);
#line 697 "game.c"
	}
	__finally6:
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_free0 (contents);
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_clear_error (&_inner_error_);
#line 158 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return;
#line 710 "game.c"
	}
#line 151 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (contents);
#line 714 "game.c"
}


gboolean game_restore_game (Game* self) {
	gboolean result = FALSE;
	gchar* contents = NULL;
	gchar** lines = NULL;
	gint lines_length1 = 0;
	gint _lines_size_ = 0;
	Grid* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	const gchar* _tmp5_ = NULL;
	gchar** _tmp6_ = NULL;
	gchar** _tmp7_ = NULL;
	gchar** _tmp8_ = NULL;
	gint _tmp8__length1 = 0;
	gchar** _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
	const gchar* _tmp10_ = NULL;
	gint _tmp11_ = 0;
	RoundedRectangle** _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	gint _tmp12__length2 = 0;
	GError * _inner_error_ = NULL;
#line 167 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 742 "game.c"
	{
		const gchar* _tmp0_ = NULL;
		gchar* _tmp1_ = NULL;
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp0_ = self->priv->_saved_path;
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_file_get_contents (_tmp0_, &_tmp1_, NULL, &_inner_error_);
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_free0 (contents);
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		contents = _tmp1_;
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (_inner_error_->domain == G_FILE_ERROR) {
#line 758 "game.c"
				goto __catch7_g_file_error;
			}
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_free0 (contents);
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			g_clear_error (&_inner_error_);
#line 173 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			return FALSE;
#line 771 "game.c"
		}
	}
	goto __finally7;
	__catch7_g_file_error:
	{
		GError* e = NULL;
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		e = _inner_error_;
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_inner_error_ = NULL;
#line 175 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		result = FALSE;
#line 175 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_error_free0 (e);
#line 175 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
#line 175 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_free0 (contents);
#line 175 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return result;
#line 792 "game.c"
	}
	__finally7:
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_free0 (contents);
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_clear_error (&_inner_error_);
#line 172 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return FALSE;
#line 807 "game.c"
	}
#line 178 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_grid;
#line 178 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = contents;
#line 178 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid_load (_tmp2_, _tmp3_);
#line 178 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (!_tmp4_) {
#line 180 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_warning ("game.vala:180: Failed to restore game from saved file");
#line 181 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		result = FALSE;
#line 181 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
#line 181 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_free0 (contents);
#line 181 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return result;
#line 827 "game.c"
	}
#line 184 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = contents;
#line 184 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = _tmp6_ = g_strsplit (_tmp5_, "\n", 0);
#line 184 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
#line 184 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	lines = _tmp7_;
#line 184 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	lines_length1 = _vala_array_length (_tmp6_);
#line 184 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_lines_size_ = lines_length1;
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = lines;
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8__length1 = lines_length1;
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = lines;
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9__length1 = lines_length1;
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = _tmp8_[_tmp9__length1 - 2];
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = atoi (_tmp10_);
#line 185 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	game_set_score (self, (guint) _tmp11_);
#line 187 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = self->priv->_background;
#line 187 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12__length1 = self->priv->_background_length1;
#line 187 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12__length2 = self->priv->_background_length2;
#line 187 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp12_ != NULL) {
#line 188 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_clear_background (self);
#line 865 "game.c"
	}
#line 189 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_init_background (self);
#line 190 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_restore_foreground (self, TRUE);
#line 192 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:192: game restored successfully");
#line 193 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = TRUE;
#line 193 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
#line 193 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (contents);
#line 193 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 881 "game.c"
}


gboolean game_key_pressed (Game* self, GdkEventKey* event) {
	gboolean result = FALSE;
	GameGameState _tmp0_ = 0;
	guint keyval = 0U;
	GdkEventKey* _tmp1_ = NULL;
	guint _tmp2_ = 0U;
	guint _tmp3_ = 0U;
	guint _tmp4_ = 0U;
#line 196 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 196 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 198 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_state;
#line 198 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp0_ != GAME_GAME_STATE_IDLE) {
#line 199 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		result = TRUE;
#line 199 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return result;
#line 905 "game.c"
	}
#line 201 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = event;
#line 201 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_->keyval;
#line 201 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _game_upper_key (self, _tmp2_);
#line 201 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	keyval = _tmp3_;
#line 203 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = keyval;
#line 203 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp4_ == ((guint) GDK_KEY_Down)) {
#line 203 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_move_down (self);
#line 921 "game.c"
	} else {
		guint _tmp5_ = 0U;
#line 204 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp5_ = keyval;
#line 204 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		if (_tmp5_ == ((guint) GDK_KEY_Up)) {
#line 204 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_move_up (self);
#line 930 "game.c"
		} else {
			guint _tmp6_ = 0U;
#line 205 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp6_ = keyval;
#line 205 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (_tmp6_ == ((guint) GDK_KEY_Left)) {
#line 205 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_game_move_left (self);
#line 939 "game.c"
			} else {
				guint _tmp7_ = 0U;
#line 206 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp7_ = keyval;
#line 206 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (_tmp7_ == ((guint) GDK_KEY_Right)) {
#line 206 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					_game_move_right (self);
#line 948 "game.c"
				}
			}
		}
	}
#line 208 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = FALSE;
#line 208 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 957 "game.c"
}


gboolean game_reload_settings (Game* self) {
	gboolean result = FALSE;
	gint rows = 0;
	gint cols = 0;
	gboolean allow_undo = FALSE;
	GSettings* _tmp0_ = NULL;
	gdouble _tmp1_ = 0.0;
	GSettings* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp9_ = FALSE;
	GSettings* _tmp10_ = NULL;
	gint _tmp11_ = 0;
	GSettings* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	GSettings* _tmp14_ = NULL;
	gint _tmp15_ = 0;
	gboolean _tmp16_ = FALSE;
	gint _tmp17_ = 0;
	Grid* _tmp18_ = NULL;
	gint _tmp19_ = 0;
	gint _tmp20_ = 0;
#line 211 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 216 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_settings;
#line 216 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = g_settings_get_double (_tmp0_, "animations-speed");
#line 216 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_animations_duration = (gint) _tmp1_;
#line 218 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_settings;
#line 218 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = g_settings_get_boolean (_tmp2_, "allow-undo");
#line 218 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	allow_undo = _tmp3_;
#line 219 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_allow_undo;
#line 219 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp5_) {
#line 1002 "game.c"
		gboolean _tmp6_ = FALSE;
#line 219 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp6_ = allow_undo;
#line 219 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp4_ = !_tmp6_;
#line 1008 "game.c"
	} else {
#line 219 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp4_ = FALSE;
#line 1012 "game.c"
	}
#line 219 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp4_) {
#line 1016 "game.c"
		GeeLinkedList* _tmp7_ = NULL;
		GeeLinkedList* _tmp8_ = NULL;
#line 221 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp7_ = self->priv->_undo_stack;
#line 221 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp7_);
#line 222 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_undo_score_stack;
#line 222 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp8_);
#line 223 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_signal_emit_by_name (self, "undo-disabled");
#line 1029 "game.c"
	}
#line 225 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = allow_undo;
#line 225 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_allow_undo = _tmp9_;
#line 226 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = self->priv->_settings;
#line 226 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = g_settings_get_int (_tmp10_, "allow-undo-max");
#line 226 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_undo_stack_max_size = (guint) _tmp11_;
#line 228 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = self->priv->_settings;
#line 228 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = g_settings_get_int (_tmp12_, "rows");
#line 228 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp13_;
#line 229 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = self->priv->_settings;
#line 229 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = g_settings_get_int (_tmp14_, "cols");
#line 229 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp15_;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = rows;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = self->priv->_grid;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = grid_get_rows (_tmp18_);
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = _tmp19_;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp17_ != _tmp20_) {
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp16_ = TRUE;
#line 1065 "game.c"
	} else {
		gint _tmp21_ = 0;
		Grid* _tmp22_ = NULL;
		gint _tmp23_ = 0;
		gint _tmp24_ = 0;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp21_ = cols;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp22_ = self->priv->_grid;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp23_ = grid_get_cols (_tmp22_);
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp24_ = _tmp23_;
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp16_ = _tmp21_ != _tmp24_;
#line 1081 "game.c"
	}
#line 231 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp16_) {
#line 1085 "game.c"
		gint _tmp25_ = 0;
		gint _tmp26_ = 0;
		Grid* _tmp27_ = NULL;
#line 233 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_clear_foreground (self);
#line 234 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_clear_background (self);
#line 236 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp25_ = rows;
#line 236 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp26_ = cols;
#line 236 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp27_ = grid_new (_tmp25_, _tmp26_);
#line 236 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (self->priv->_grid);
#line 236 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_grid = _tmp27_;
#line 238 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_init_background (self);
#line 240 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		result = TRUE;
#line 240 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return result;
#line 1109 "game.c"
	}
#line 243 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = FALSE;
#line 243 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 1115 "game.c"
}


static guint _game_upper_key (Game* self, guint keyval) {
	guint result = 0U;
	guint _tmp0_ = 0U;
	guint _tmp1_ = 0U;
#line 246 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, 0U);
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = keyval;
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp1_ > ((guint) 255)) {
#line 1129 "game.c"
		guint _tmp2_ = 0U;
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp2_ = keyval;
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp0_ = _tmp2_;
#line 1135 "game.c"
	} else {
		guint _tmp3_ = 0U;
		gchar _tmp4_ = '\0';
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp3_ = keyval;
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp4_ = g_ascii_toupper ((gchar) _tmp3_);
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp0_ = (guint) _tmp4_;
#line 1145 "game.c"
	}
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = _tmp0_;
#line 248 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 1151 "game.c"
}


static void _game_on_allocation_changed (Game* self, ClutterActorBox* box, ClutterAllocationFlags flags) {
	RoundedRectangle** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gint _tmp0__length2 = 0;
#line 251 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 251 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (box != NULL);
#line 253 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_background;
#line 253 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0__length1 = self->priv->_background_length1;
#line 253 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0__length2 = self->priv->_background_length2;
#line 253 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp0_ == NULL) {
#line 254 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_init_background (self);
#line 1173 "game.c"
	} else {
#line 256 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_resize_view (self);
#line 1177 "game.c"
	}
}


static void _game_init_background (Game* self) {
	gint rows = 0;
	Grid* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint cols = 0;
	Grid* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	ClutterColor background_color = {0};
	ClutterActor* _tmp6_ = NULL;
	ClutterColor _tmp7_ = {0};
	gint _tmp8_ = 0;
	gint _tmp9_ = 0;
	RoundedRectangle** _tmp10_ = NULL;
	gint _tmp11_ = 0;
	gint _tmp12_ = 0;
	TileView** _tmp13_ = NULL;
	gint _tmp14_ = 0;
	gint _tmp15_ = 0;
	TileView** _tmp16_ = NULL;
	gfloat canvas_width = 0.0F;
	ClutterActor* _tmp17_ = NULL;
	gfloat _tmp18_ = 0.0F;
	gfloat _tmp19_ = 0.0F;
	gfloat canvas_height = 0.0F;
	ClutterActor* _tmp20_ = NULL;
	gfloat _tmp21_ = 0.0F;
	gfloat _tmp22_ = 0.0F;
	gfloat _tmp23_ = 0.0F;
	gint _tmp24_ = 0;
	gint _tmp25_ = 0;
	gfloat _tmp26_ = 0.0F;
	gint _tmp27_ = 0;
	gint _tmp28_ = 0;
	gfloat tile_width = 0.0F;
	gfloat _tmp29_ = 0.0F;
	gint _tmp30_ = 0;
	gfloat tile_height = 0.0F;
	gfloat _tmp31_ = 0.0F;
	gint _tmp32_ = 0;
	ClutterColor color = {0};
#line 259 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 261 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_grid;
#line 261 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = grid_get_rows (_tmp0_);
#line 261 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 261 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp2_;
#line 262 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_grid;
#line 262 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid_get_cols (_tmp3_);
#line 262 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 262 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp5_;
#line 263 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_color_from_string (&background_color, "#babdb6");
#line 264 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_view;
#line 264 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = background_color;
#line 264 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_set_background_color (_tmp6_, &_tmp7_);
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = rows;
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = cols;
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = g_new0 (RoundedRectangle*, (_tmp8_ * _tmp9_) + 1);
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_background = (_vala_array_free (self->priv->_background, self->priv->_background_length1 * self->priv->_background_length2, (GDestroyNotify) g_object_unref), NULL);
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_background = _tmp10_;
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_background_length1 = _tmp8_;
#line 266 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_background_length2 = _tmp9_;
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = rows;
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = cols;
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = g_new0 (TileView*, (_tmp11_ * _tmp12_) + 1);
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_cur = (_vala_array_free (self->priv->_foreground_cur, self->priv->_foreground_cur_length1 * self->priv->_foreground_cur_length2, (GDestroyNotify) g_object_unref), NULL);
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_cur = _tmp13_;
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_cur_length1 = _tmp11_;
#line 267 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_cur_length2 = _tmp12_;
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = rows;
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = cols;
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = g_new0 (TileView*, (_tmp14_ * _tmp15_) + 1);
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_nxt = (_vala_array_free (self->priv->_foreground_nxt, self->priv->_foreground_nxt_length1 * self->priv->_foreground_nxt_length2, (GDestroyNotify) g_object_unref), NULL);
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_nxt = _tmp16_;
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_nxt_length1 = _tmp14_;
#line 268 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_nxt_length2 = _tmp15_;
#line 270 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = self->priv->_view;
#line 270 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = clutter_actor_get_width (_tmp17_);
#line 270 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = _tmp18_;
#line 270 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_width = _tmp19_;
#line 271 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = self->priv->_view;
#line 271 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = clutter_actor_get_height (_tmp20_);
#line 271 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp22_ = _tmp21_;
#line 271 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_height = _tmp22_;
#line 273 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = canvas_width;
#line 273 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp24_ = cols;
#line 273 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = self->priv->BLANK_COL_WIDTH;
#line 273 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_width = _tmp23_ - ((_tmp24_ + 1) * _tmp25_);
#line 274 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp26_ = canvas_height;
#line 274 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp27_ = rows;
#line 274 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp28_ = self->priv->BLANK_ROW_HEIGHT;
#line 274 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_height = _tmp26_ - ((_tmp27_ + 1) * _tmp28_);
#line 276 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp29_ = canvas_width;
#line 276 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp30_ = cols;
#line 276 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	tile_width = _tmp29_ / _tmp30_;
#line 277 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp31_ = canvas_height;
#line 277 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp32_ = rows;
#line 277 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	tile_height = _tmp31_ / _tmp32_;
#line 279 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_color_from_string (&color, "#ffffff");
#line 1338 "game.c"
	{
		gint i = 0;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		i = 0;
#line 1343 "game.c"
		{
			gboolean _tmp33_ = FALSE;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = TRUE;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			while (TRUE) {
#line 1350 "game.c"
				gint _tmp35_ = 0;
				gint _tmp36_ = 0;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!_tmp33_) {
#line 1355 "game.c"
					gint _tmp34_ = 0;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					_tmp34_ = i;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					i = _tmp34_ + 1;
#line 1361 "game.c"
				}
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp33_ = FALSE;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp35_ = i;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp36_ = rows;
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!(_tmp35_ < _tmp36_)) {
#line 281 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					break;
#line 1373 "game.c"
				}
				{
					gint j = 0;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					j = 0;
#line 1379 "game.c"
					{
						gboolean _tmp37_ = FALSE;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						_tmp37_ = TRUE;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						while (TRUE) {
#line 1386 "game.c"
							gint _tmp39_ = 0;
							gint _tmp40_ = 0;
							gfloat x = 0.0F;
							gint _tmp41_ = 0;
							gfloat _tmp42_ = 0.0F;
							gint _tmp43_ = 0;
							gint _tmp44_ = 0;
							gfloat y = 0.0F;
							gint _tmp45_ = 0;
							gfloat _tmp46_ = 0.0F;
							gint _tmp47_ = 0;
							gint _tmp48_ = 0;
							RoundedRectangle* rect = NULL;
							gfloat _tmp49_ = 0.0F;
							gfloat _tmp50_ = 0.0F;
							gfloat _tmp51_ = 0.0F;
							gfloat _tmp52_ = 0.0F;
							ClutterColor _tmp53_ = {0};
							RoundedRectangle* _tmp54_ = NULL;
							ClutterActor* _tmp55_ = NULL;
							RoundedRectangle* _tmp56_ = NULL;
							ClutterActor* _tmp57_ = NULL;
							ClutterActor* _tmp58_ = NULL;
							RoundedRectangle* _tmp59_ = NULL;
							ClutterCanvas* _tmp60_ = NULL;
							ClutterCanvas* _tmp61_ = NULL;
							RoundedRectangle* _tmp62_ = NULL;
							ClutterActor* _tmp63_ = NULL;
							ClutterActor* _tmp64_ = NULL;
							RoundedRectangle** _tmp65_ = NULL;
							gint _tmp65__length1 = 0;
							gint _tmp65__length2 = 0;
							gint _tmp66_ = 0;
							gint _tmp67_ = 0;
							RoundedRectangle* _tmp68_ = NULL;
							RoundedRectangle* _tmp69_ = NULL;
							RoundedRectangle* _tmp70_ = NULL;
							TileView** _tmp71_ = NULL;
							gint _tmp71__length1 = 0;
							gint _tmp71__length2 = 0;
							gint _tmp72_ = 0;
							gint _tmp73_ = 0;
							TileView* _tmp74_ = NULL;
							TileView** _tmp75_ = NULL;
							gint _tmp75__length1 = 0;
							gint _tmp75__length2 = 0;
							gint _tmp76_ = 0;
							gint _tmp77_ = 0;
							TileView* _tmp78_ = NULL;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!_tmp37_) {
#line 1438 "game.c"
								gint _tmp38_ = 0;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp38_ = j;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								j = _tmp38_ + 1;
#line 1444 "game.c"
							}
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp37_ = FALSE;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp39_ = j;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp40_ = cols;
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!(_tmp39_ < _tmp40_)) {
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								break;
#line 1456 "game.c"
							}
#line 285 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp41_ = j;
#line 285 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp42_ = tile_width;
#line 285 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp43_ = j;
#line 285 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp44_ = self->priv->BLANK_COL_WIDTH;
#line 285 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							x = (_tmp41_ * _tmp42_) + ((_tmp43_ + 1) * _tmp44_);
#line 286 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp45_ = i;
#line 286 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp46_ = tile_height;
#line 286 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp47_ = i;
#line 286 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp48_ = self->priv->BLANK_ROW_HEIGHT;
#line 286 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							y = (_tmp45_ * _tmp46_) + ((_tmp47_ + 1) * _tmp48_);
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp49_ = x;
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp50_ = y;
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp51_ = tile_width;
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp52_ = tile_height;
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp53_ = color;
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp54_ = rounded_rectangle_new (_tmp49_, _tmp50_, _tmp51_, _tmp52_, &_tmp53_);
#line 288 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							rect = _tmp54_;
#line 290 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp55_ = self->priv->_view_background;
#line 290 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp56_ = rect;
#line 290 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp57_ = rounded_rectangle_get_actor (_tmp56_);
#line 290 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp58_ = _tmp57_;
#line 290 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							clutter_actor_add_child (_tmp55_, _tmp58_);
#line 291 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp59_ = rect;
#line 291 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp60_ = rounded_rectangle_get_canvas (_tmp59_);
#line 291 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp61_ = _tmp60_;
#line 291 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							clutter_content_invalidate ((ClutterContent*) _tmp61_);
#line 292 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp62_ = rect;
#line 292 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp63_ = rounded_rectangle_get_actor (_tmp62_);
#line 292 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp64_ = _tmp63_;
#line 292 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							clutter_actor_show (_tmp64_);
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp65_ = self->priv->_background;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp65__length1 = self->priv->_background_length1;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp65__length2 = self->priv->_background_length2;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp66_ = i;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp67_ = j;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp68_ = rect;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp69_ = _g_object_ref0 (_tmp68_);
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_g_object_unref0 (_tmp65_[(_tmp66_ * _tmp65__length2) + _tmp67_]);
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp65_[(_tmp66_ * _tmp65__length2) + _tmp67_] = _tmp69_;
#line 294 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp70_ = _tmp65_[(_tmp66_ * _tmp65__length2) + _tmp67_];
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp71_ = self->priv->_foreground_cur;
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp71__length1 = self->priv->_foreground_cur_length1;
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp71__length2 = self->priv->_foreground_cur_length2;
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp72_ = i;
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp73_ = j;
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_g_object_unref0 (_tmp71_[(_tmp72_ * _tmp71__length2) + _tmp73_]);
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp71_[(_tmp72_ * _tmp71__length2) + _tmp73_] = NULL;
#line 295 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp74_ = _tmp71_[(_tmp72_ * _tmp71__length2) + _tmp73_];
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp75_ = self->priv->_foreground_nxt;
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp75__length1 = self->priv->_foreground_nxt_length1;
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp75__length2 = self->priv->_foreground_nxt_length2;
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp76_ = i;
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp77_ = j;
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_g_object_unref0 (_tmp75_[(_tmp76_ * _tmp75__length2) + _tmp77_]);
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp75_[(_tmp76_ * _tmp75__length2) + _tmp77_] = NULL;
#line 296 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp78_ = _tmp75_[(_tmp76_ * _tmp75__length2) + _tmp77_];
#line 283 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_g_object_unref0 (rect);
#line 1572 "game.c"
						}
					}
				}
			}
		}
	}
}


static gboolean __game_idle_resize_view_gsource_func (gpointer self) {
	gboolean result;
	result = _game_idle_resize_view ((Game*) self);
#line 332 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 1587 "game.c"
}


static void _game_resize_view (Game* self) {
	gint rows = 0;
	Grid* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint cols = 0;
	Grid* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	gfloat canvas_width = 0.0F;
	ClutterActor* _tmp6_ = NULL;
	gfloat _tmp7_ = 0.0F;
	gfloat _tmp8_ = 0.0F;
	gfloat canvas_height = 0.0F;
	ClutterActor* _tmp9_ = NULL;
	gfloat _tmp10_ = 0.0F;
	gfloat _tmp11_ = 0.0F;
	gfloat _tmp12_ = 0.0F;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	gfloat _tmp15_ = 0.0F;
	gint _tmp16_ = 0;
	gint _tmp17_ = 0;
	gfloat tile_width = 0.0F;
	gfloat _tmp18_ = 0.0F;
	gint _tmp19_ = 0;
	gfloat tile_height = 0.0F;
	gfloat _tmp20_ = 0.0F;
	gint _tmp21_ = 0;
	guint _tmp70_ = 0U;
#line 301 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 303 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_grid;
#line 303 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = grid_get_rows (_tmp0_);
#line 303 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 303 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp2_;
#line 304 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_grid;
#line 304 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid_get_cols (_tmp3_);
#line 304 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 304 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp5_;
#line 305 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_view;
#line 305 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = clutter_actor_get_width (_tmp6_);
#line 305 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = _tmp7_;
#line 305 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_width = _tmp8_;
#line 306 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = self->priv->_view;
#line 306 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = clutter_actor_get_height (_tmp9_);
#line 306 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = _tmp10_;
#line 306 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_height = _tmp11_;
#line 308 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = canvas_width;
#line 308 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = cols;
#line 308 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = self->priv->BLANK_COL_WIDTH;
#line 308 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_width = _tmp12_ - ((_tmp13_ + 1) * _tmp14_);
#line 309 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = canvas_height;
#line 309 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = rows;
#line 309 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = self->priv->BLANK_ROW_HEIGHT;
#line 309 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	canvas_height = _tmp15_ - ((_tmp16_ + 1) * _tmp17_);
#line 311 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = canvas_width;
#line 311 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = cols;
#line 311 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	tile_width = _tmp18_ / _tmp19_;
#line 312 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = canvas_height;
#line 312 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = rows;
#line 312 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	tile_height = _tmp20_ / _tmp21_;
#line 1683 "game.c"
	{
		gint i = 0;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		i = 0;
#line 1688 "game.c"
		{
			gboolean _tmp22_ = FALSE;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = TRUE;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			while (TRUE) {
#line 1695 "game.c"
				gint _tmp24_ = 0;
				gint _tmp25_ = 0;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!_tmp22_) {
#line 1700 "game.c"
					gint _tmp23_ = 0;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					_tmp23_ = i;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					i = _tmp23_ + 1;
#line 1706 "game.c"
				}
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp22_ = FALSE;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp24_ = i;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp25_ = rows;
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!(_tmp24_ < _tmp25_)) {
#line 314 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					break;
#line 1718 "game.c"
				}
				{
					gint j = 0;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					j = 0;
#line 1724 "game.c"
					{
						gboolean _tmp26_ = FALSE;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						_tmp26_ = TRUE;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						while (TRUE) {
#line 1731 "game.c"
							gint _tmp28_ = 0;
							gint _tmp29_ = 0;
							gfloat x = 0.0F;
							gint _tmp30_ = 0;
							gfloat _tmp31_ = 0.0F;
							gint _tmp32_ = 0;
							gint _tmp33_ = 0;
							gfloat y = 0.0F;
							gint _tmp34_ = 0;
							gfloat _tmp35_ = 0.0F;
							gint _tmp36_ = 0;
							gint _tmp37_ = 0;
							RoundedRectangle** _tmp38_ = NULL;
							gint _tmp38__length1 = 0;
							gint _tmp38__length2 = 0;
							gint _tmp39_ = 0;
							gint _tmp40_ = 0;
							RoundedRectangle* _tmp41_ = NULL;
							gfloat _tmp42_ = 0.0F;
							gfloat _tmp43_ = 0.0F;
							gfloat _tmp44_ = 0.0F;
							gfloat _tmp45_ = 0.0F;
							TileView** _tmp46_ = NULL;
							gint _tmp46__length1 = 0;
							gint _tmp46__length2 = 0;
							gint _tmp47_ = 0;
							gint _tmp48_ = 0;
							TileView* _tmp49_ = NULL;
							TileView** _tmp58_ = NULL;
							gint _tmp58__length1 = 0;
							gint _tmp58__length2 = 0;
							gint _tmp59_ = 0;
							gint _tmp60_ = 0;
							TileView* _tmp61_ = NULL;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!_tmp26_) {
#line 1768 "game.c"
								gint _tmp27_ = 0;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp27_ = j;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								j = _tmp27_ + 1;
#line 1774 "game.c"
							}
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp26_ = FALSE;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp28_ = j;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp29_ = cols;
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!(_tmp28_ < _tmp29_)) {
#line 316 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								break;
#line 1786 "game.c"
							}
#line 318 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp30_ = j;
#line 318 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp31_ = tile_width;
#line 318 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp32_ = j;
#line 318 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp33_ = self->priv->BLANK_COL_WIDTH;
#line 318 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							x = (_tmp30_ * _tmp31_) + ((_tmp32_ + 1) * _tmp33_);
#line 319 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp34_ = i;
#line 319 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp35_ = tile_height;
#line 319 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp36_ = i;
#line 319 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp37_ = self->priv->BLANK_ROW_HEIGHT;
#line 319 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							y = (_tmp34_ * _tmp35_) + ((_tmp36_ + 1) * _tmp37_);
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp38_ = self->priv->_background;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp38__length1 = self->priv->_background_length1;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp38__length2 = self->priv->_background_length2;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp39_ = i;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp40_ = j;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp41_ = _tmp38_[(_tmp39_ * _tmp38__length2) + _tmp40_];
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp42_ = x;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp43_ = y;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp44_ = tile_width;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp45_ = tile_height;
#line 321 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							rounded_rectangle_resize (_tmp41_, _tmp42_, _tmp43_, _tmp44_, _tmp45_);
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp46_ = self->priv->_foreground_cur;
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp46__length1 = self->priv->_foreground_cur_length1;
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp46__length2 = self->priv->_foreground_cur_length2;
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp47_ = i;
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp48_ = j;
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp49_ = _tmp46_[(_tmp47_ * _tmp46__length2) + _tmp48_];
#line 323 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (_tmp49_ != NULL) {
#line 1844 "game.c"
								TileView** _tmp50_ = NULL;
								gint _tmp50__length1 = 0;
								gint _tmp50__length2 = 0;
								gint _tmp51_ = 0;
								gint _tmp52_ = 0;
								TileView* _tmp53_ = NULL;
								gfloat _tmp54_ = 0.0F;
								gfloat _tmp55_ = 0.0F;
								gfloat _tmp56_ = 0.0F;
								gfloat _tmp57_ = 0.0F;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp50_ = self->priv->_foreground_cur;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp50__length1 = self->priv->_foreground_cur_length1;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp50__length2 = self->priv->_foreground_cur_length2;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp51_ = i;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp52_ = j;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp53_ = _tmp50_[(_tmp51_ * _tmp50__length2) + _tmp52_];
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp54_ = x;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp55_ = y;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp56_ = tile_width;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp57_ = tile_height;
#line 324 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								rounded_rectangle_resize ((RoundedRectangle*) _tmp53_, _tmp54_, _tmp55_, _tmp56_, _tmp57_);
#line 1877 "game.c"
							}
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp58_ = self->priv->_foreground_nxt;
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp58__length1 = self->priv->_foreground_nxt_length1;
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp58__length2 = self->priv->_foreground_nxt_length2;
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp59_ = i;
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp60_ = j;
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp61_ = _tmp58_[(_tmp59_ * _tmp58__length2) + _tmp60_];
#line 326 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (_tmp61_ != NULL) {
#line 1893 "game.c"
								TileView** _tmp62_ = NULL;
								gint _tmp62__length1 = 0;
								gint _tmp62__length2 = 0;
								gint _tmp63_ = 0;
								gint _tmp64_ = 0;
								TileView* _tmp65_ = NULL;
								gfloat _tmp66_ = 0.0F;
								gfloat _tmp67_ = 0.0F;
								gfloat _tmp68_ = 0.0F;
								gfloat _tmp69_ = 0.0F;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp62_ = self->priv->_foreground_nxt;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp62__length1 = self->priv->_foreground_nxt_length1;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp62__length2 = self->priv->_foreground_nxt_length2;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp63_ = i;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp64_ = j;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp65_ = _tmp62_[(_tmp63_ * _tmp62__length2) + _tmp64_];
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp66_ = x;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp67_ = y;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp68_ = tile_width;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp69_ = tile_height;
#line 327 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								rounded_rectangle_resize ((RoundedRectangle*) _tmp65_, _tmp66_, _tmp67_, _tmp68_, _tmp69_);
#line 1926 "game.c"
							}
						}
					}
				}
			}
		}
	}
#line 331 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp70_ = self->priv->_resize_view_id;
#line 331 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp70_ == ((guint) 0)) {
#line 1938 "game.c"
		guint _tmp71_ = 0U;
#line 332 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp71_ = clutter_threads_add_timeout ((guint) 1000, __game_idle_resize_view_gsource_func, self);
#line 332 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_resize_view_id = _tmp71_;
#line 1944 "game.c"
	}
}


static gboolean _game_idle_resize_view (Game* self) {
	gboolean result = FALSE;
	gint rows = 0;
	Grid* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint cols = 0;
	Grid* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
#line 335 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 337 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_grid;
#line 337 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = grid_get_rows (_tmp0_);
#line 337 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 337 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp2_;
#line 338 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_grid;
#line 338 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid_get_cols (_tmp3_);
#line 338 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 338 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp5_;
#line 1977 "game.c"
	{
		gint i = 0;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		i = 0;
#line 1982 "game.c"
		{
			gboolean _tmp6_ = FALSE;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp6_ = TRUE;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			while (TRUE) {
#line 1989 "game.c"
				gint _tmp8_ = 0;
				gint _tmp9_ = 0;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!_tmp6_) {
#line 1994 "game.c"
					gint _tmp7_ = 0;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					_tmp7_ = i;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					i = _tmp7_ + 1;
#line 2000 "game.c"
				}
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp6_ = FALSE;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp8_ = i;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp9_ = rows;
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!(_tmp8_ < _tmp9_)) {
#line 339 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					break;
#line 2012 "game.c"
				}
				{
					gint j = 0;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					j = 0;
#line 2018 "game.c"
					{
						gboolean _tmp10_ = FALSE;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						_tmp10_ = TRUE;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						while (TRUE) {
#line 2025 "game.c"
							gint _tmp12_ = 0;
							gint _tmp13_ = 0;
							RoundedRectangle** _tmp14_ = NULL;
							gint _tmp14__length1 = 0;
							gint _tmp14__length2 = 0;
							gint _tmp15_ = 0;
							gint _tmp16_ = 0;
							RoundedRectangle* _tmp17_ = NULL;
							TileView** _tmp18_ = NULL;
							gint _tmp18__length1 = 0;
							gint _tmp18__length2 = 0;
							gint _tmp19_ = 0;
							gint _tmp20_ = 0;
							TileView* _tmp21_ = NULL;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!_tmp10_) {
#line 2042 "game.c"
								gint _tmp11_ = 0;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp11_ = j;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								j = _tmp11_ + 1;
#line 2048 "game.c"
							}
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp10_ = FALSE;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp12_ = j;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp13_ = cols;
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!(_tmp12_ < _tmp13_)) {
#line 341 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								break;
#line 2060 "game.c"
							}
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp14_ = self->priv->_background;
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp14__length1 = self->priv->_background_length1;
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp14__length2 = self->priv->_background_length2;
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp15_ = i;
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp16_ = j;
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp17_ = _tmp14_[(_tmp15_ * _tmp14__length2) + _tmp16_];
#line 343 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							rounded_rectangle_idle_resize (_tmp17_);
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp18_ = self->priv->_foreground_cur;
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp18__length1 = self->priv->_foreground_cur_length1;
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp18__length2 = self->priv->_foreground_cur_length2;
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp19_ = i;
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp20_ = j;
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp21_ = _tmp18_[(_tmp19_ * _tmp18__length2) + _tmp20_];
#line 345 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (_tmp21_ != NULL) {
#line 2090 "game.c"
								TileView** _tmp22_ = NULL;
								gint _tmp22__length1 = 0;
								gint _tmp22__length2 = 0;
								gint _tmp23_ = 0;
								gint _tmp24_ = 0;
								TileView* _tmp25_ = NULL;
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp22_ = self->priv->_foreground_cur;
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp22__length1 = self->priv->_foreground_cur_length1;
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp22__length2 = self->priv->_foreground_cur_length2;
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp23_ = i;
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp24_ = j;
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp25_ = _tmp22_[(_tmp23_ * _tmp22__length2) + _tmp24_];
#line 346 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								rounded_rectangle_idle_resize ((RoundedRectangle*) _tmp25_);
#line 2111 "game.c"
							}
						}
					}
				}
			}
		}
	}
#line 350 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_resize_view_id = (guint) 0;
#line 351 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = FALSE;
#line 351 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 2125 "game.c"
}


static void _game_create_random_tile (Game* self) {
	Tile tile = {0};
	Grid* _tmp0_ = NULL;
	Tile _tmp1_ = {0};
	gboolean _tmp2_ = FALSE;
#line 354 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 358 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_grid;
#line 358 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = grid_new_tile (_tmp0_, &_tmp1_);
#line 358 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	tile = _tmp1_;
#line 358 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp2_) {
#line 2144 "game.c"
		Tile _tmp3_ = {0};
		GeeLinkedList* _tmp4_ = NULL;
		Tile _tmp5_ = {0};
		Tile _tmp6_ = {0};
		GridPosition _tmp7_ = {0};
		ClutterTransitionGroup* _tmp8_ = NULL;
#line 360 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_create_show_hide_transition (self, TRUE);
#line 362 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp3_ = tile;
#line 362 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_create_tile (self, &_tmp3_);
#line 363 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp4_ = self->priv->_to_show;
#line 363 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp5_ = tile;
#line 363 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, &_tmp5_);
#line 364 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp6_ = tile;
#line 364 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp7_ = _tmp6_.pos;
#line 364 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_show_tile (self, &_tmp7_);
#line 365 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_show_hide_trans;
#line 365 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp8_);
#line 2173 "game.c"
	}
}


static void _game_create_tile (Game* self, Tile* tile) {
	GridPosition pos = {0};
	RoundedRectangle* rect = NULL;
	TileView* view = NULL;
	gfloat x = 0.0F;
	gfloat y = 0.0F;
	gfloat width = 0.0F;
	gfloat height = 0.0F;
	Tile _tmp0_ = {0};
	GridPosition _tmp1_ = {0};
	RoundedRectangle** _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gint _tmp2__length2 = 0;
	GridPosition _tmp3_ = {0};
	guint _tmp4_ = 0U;
	GridPosition _tmp5_ = {0};
	guint _tmp6_ = 0U;
	RoundedRectangle* _tmp7_ = NULL;
	RoundedRectangle* _tmp8_ = NULL;
	ClutterActor* _tmp9_ = NULL;
	ClutterActor* _tmp10_ = NULL;
	gfloat _tmp11_ = 0.0F;
	gfloat _tmp12_ = 0.0F;
	ClutterActor* _tmp13_ = NULL;
	ClutterActor* _tmp14_ = NULL;
	gfloat _tmp15_ = 0.0F;
	gfloat _tmp16_ = 0.0F;
	ClutterActor* _tmp17_ = NULL;
	ClutterActor* _tmp18_ = NULL;
	gfloat _tmp19_ = 0.0F;
	gfloat _tmp20_ = 0.0F;
	ClutterActor* _tmp21_ = NULL;
	ClutterActor* _tmp22_ = NULL;
	gfloat _tmp23_ = 0.0F;
	gfloat _tmp24_ = 0.0F;
	TileView** _tmp25_ = NULL;
	gint _tmp25__length1 = 0;
	gint _tmp25__length2 = 0;
	GridPosition _tmp26_ = {0};
	guint _tmp27_ = 0U;
	GridPosition _tmp28_ = {0};
	guint _tmp29_ = 0U;
	TileView* _tmp30_ = NULL;
	Tile _tmp31_ = {0};
	guint _tmp32_ = 0U;
	TileView* _tmp33_ = NULL;
	TileView** _tmp34_ = NULL;
	gint _tmp34__length1 = 0;
	gint _tmp34__length2 = 0;
	GridPosition _tmp35_ = {0};
	guint _tmp36_ = 0U;
	GridPosition _tmp37_ = {0};
	guint _tmp38_ = 0U;
	TileView* _tmp39_ = NULL;
	TileView* _tmp40_ = NULL;
#line 369 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 369 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (tile != NULL);
#line 379 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = *tile;
#line 379 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _tmp0_.pos;
#line 379 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	pos = _tmp1_;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_background;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2__length1 = self->priv->_background_length1;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2__length2 = self->priv->_background_length2;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = pos;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = _tmp3_.row;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = pos;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = _tmp5_.col;
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = _tmp2_[(_tmp4_ * _tmp2__length2) + _tmp6_];
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = _g_object_ref0 (_tmp7_);
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (rect);
#line 380 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rect = _tmp8_;
#line 381 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = rounded_rectangle_get_actor (rect);
#line 381 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = _tmp9_;
#line 381 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = clutter_actor_get_x (_tmp10_);
#line 381 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = _tmp11_;
#line 381 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	x = _tmp12_;
#line 382 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = rounded_rectangle_get_actor (rect);
#line 382 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = _tmp13_;
#line 382 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = clutter_actor_get_y (_tmp14_);
#line 382 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = _tmp15_;
#line 382 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	y = _tmp16_;
#line 383 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = rounded_rectangle_get_actor (rect);
#line 383 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = _tmp17_;
#line 383 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = clutter_actor_get_width (_tmp18_);
#line 383 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = _tmp19_;
#line 383 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	width = _tmp20_;
#line 384 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = rounded_rectangle_get_actor (rect);
#line 384 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp22_ = _tmp21_;
#line 384 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = clutter_actor_get_height (_tmp22_);
#line 384 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp24_ = _tmp23_;
#line 384 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	height = _tmp24_;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = self->priv->_foreground_nxt;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25__length1 = self->priv->_foreground_nxt_length1;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25__length2 = self->priv->_foreground_nxt_length2;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp26_ = pos;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp27_ = _tmp26_.row;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp28_ = pos;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp29_ = _tmp28_.col;
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp30_ = _tmp25_[(_tmp27_ * _tmp25__length2) + _tmp29_];
#line 386 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_vala_assert (_tmp30_ == NULL, "_foreground_nxt[pos.row,pos.col] == null");
#line 387 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp31_ = *tile;
#line 387 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp32_ = _tmp31_.val;
#line 387 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp33_ = tile_view_new (x, y, width, height, _tmp32_);
#line 387 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (view);
#line 387 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	view = _tmp33_;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp34_ = self->priv->_foreground_nxt;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp34__length1 = self->priv->_foreground_nxt_length1;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp34__length2 = self->priv->_foreground_nxt_length2;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp35_ = pos;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp36_ = _tmp35_.row;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp37_ = pos;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp38_ = _tmp37_.col;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp39_ = _g_object_ref0 (view);
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (_tmp34_[(_tmp36_ * _tmp34__length2) + _tmp38_]);
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp34_[(_tmp36_ * _tmp34__length2) + _tmp38_] = _tmp39_;
#line 388 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = _tmp34_[(_tmp36_ * _tmp34__length2) + _tmp38_];
#line 369 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (view);
#line 369 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (rect);
#line 2359 "game.c"
}


static void __game_on_move_trans_stopped_clutter_timeline_stopped (ClutterTimeline* _sender, gboolean is_finished, gpointer self) {
#line 400 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_on_move_trans_stopped ((Game*) self, is_finished);
#line 2366 "game.c"
}


static void _game_move_down (Game* self) {
	gboolean has_moved = FALSE;
	ClutterTransitionGroup* _tmp0_ = NULL;
	ClutterTransitionGroup* _tmp1_ = NULL;
	ClutterTransitionGroup* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	Grid* _tmp4_ = NULL;
	GeeLinkedList* _tmp5_ = NULL;
	GeeLinkedList* _tmp6_ = NULL;
	GeeLinkedList* _tmp7_ = NULL;
	gboolean _tmp38_ = FALSE;
	gboolean _tmp39_ = FALSE;
	GeeLinkedList* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	gboolean _tmp49_ = FALSE;
#line 391 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 393 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:393: move down");
#line 397 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_store_movement (self);
#line 399 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = (ClutterTransitionGroup*) clutter_transition_group_new ();
#line 399 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_move_trans);
#line 399 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_move_trans = _tmp0_;
#line 400 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_move_trans;
#line 400 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_connect_object ((ClutterTimeline*) _tmp1_, "stopped", (GCallback) __game_on_move_trans_stopped_clutter_timeline_stopped, self, 0);
#line 401 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_move_trans;
#line 401 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_animations_duration;
#line 401 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp2_, (guint) _tmp3_);
#line 403 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_grid;
#line 403 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_to_move;
#line 403 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_to_hide;
#line 403 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = self->priv->_to_show;
#line 403 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	grid_move_down (_tmp4_, _tmp5_, _tmp6_, _tmp7_);
#line 2418 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp8_ = NULL;
		GeeLinkedList* _tmp9_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp10_ = NULL;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		gint _e_index = 0;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_to_move;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp9_;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = _e_list;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp11_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp10_);
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp12_ = _tmp11_;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp12_;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 2446 "game.c"
			gint _tmp13_ = 0;
			gint _tmp14_ = 0;
			gint _tmp15_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp16_ = NULL;
			gint _tmp17_ = 0;
			gpointer _tmp18_ = NULL;
			TileMovement* _tmp19_ = NULL;
			GridPosition _tmp20_ = {0};
			TileMovement* _tmp21_ = NULL;
			GridPosition _tmp22_ = {0};
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp13_ = _e_index;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp13_ + 1;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_ = _e_index;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp15_ = _e_size;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp14_ < _tmp15_)) {
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 2470 "game.c"
			}
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp16_ = _e_list;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp17_ = _e_index;
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp18_;
#line 406 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = e;
#line 406 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = (*_tmp19_).from;
#line 406 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = e;
#line 406 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = (*_tmp21_).to;
#line 406 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_move_tile (self, &_tmp20_, &_tmp22_);
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 2492 "game.c"
		}
#line 405 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 2496 "game.c"
	}
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp23_ = NULL;
		GeeLinkedList* _tmp24_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp25_ = NULL;
		gint _tmp26_ = 0;
		gint _tmp27_ = 0;
		gint _e_index = 0;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp23_ = self->priv->_to_hide;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp24_;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp25_ = _e_list;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp26_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp25_);
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp27_ = _tmp26_;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp27_;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 2525 "game.c"
			gint _tmp28_ = 0;
			gint _tmp29_ = 0;
			gint _tmp30_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp31_ = NULL;
			gint _tmp32_ = 0;
			gpointer _tmp33_ = NULL;
			TileMovement* _tmp34_ = NULL;
			GridPosition _tmp35_ = {0};
			TileMovement* _tmp36_ = NULL;
			GridPosition _tmp37_ = {0};
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _e_index;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp28_ + 1;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = _e_index;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = _e_size;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp29_ < _tmp30_)) {
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 2549 "game.c"
			}
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = _e_list;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = _e_index;
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, _tmp32_);
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp33_;
#line 409 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = e;
#line 409 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = (*_tmp34_).from;
#line 409 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = e;
#line 409 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = (*_tmp36_).to;
#line 409 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_prepare_move_tile (self, &_tmp35_, &_tmp37_);
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 2571 "game.c"
		}
#line 408 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 2575 "game.c"
	}
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = self->priv->_to_move;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp40_);
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp42_ = _tmp41_;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp42_ > 0) {
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = TRUE;
#line 2587 "game.c"
	} else {
		GeeLinkedList* _tmp43_ = NULL;
		gint _tmp44_ = 0;
		gint _tmp45_ = 0;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = self->priv->_to_hide;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp44_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp43_);
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp45_ = _tmp44_;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = _tmp45_ > 0;
#line 2600 "game.c"
	}
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp39_) {
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = TRUE;
#line 2606 "game.c"
	} else {
		GeeLinkedList* _tmp46_ = NULL;
		gint _tmp47_ = 0;
		gint _tmp48_ = 0;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp46_ = self->priv->_to_show;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp47_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp46_);
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp48_ = _tmp47_;
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = _tmp48_ > 0;
#line 2619 "game.c"
	}
#line 411 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	has_moved = _tmp38_;
#line 413 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp49_ = has_moved;
#line 413 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp49_) {
#line 2627 "game.c"
		ClutterTransitionGroup* _tmp50_ = NULL;
#line 415 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_state = GAME_GAME_STATE_MOVING_DOWN;
#line 416 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp50_ = self->priv->_move_trans;
#line 416 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp50_);
#line 2635 "game.c"
	}
}


static void _game_move_up (Game* self) {
	gboolean has_moved = FALSE;
	ClutterTransitionGroup* _tmp0_ = NULL;
	ClutterTransitionGroup* _tmp1_ = NULL;
	ClutterTransitionGroup* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	Grid* _tmp4_ = NULL;
	GeeLinkedList* _tmp5_ = NULL;
	GeeLinkedList* _tmp6_ = NULL;
	GeeLinkedList* _tmp7_ = NULL;
	gboolean _tmp38_ = FALSE;
	gboolean _tmp39_ = FALSE;
	GeeLinkedList* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	gboolean _tmp49_ = FALSE;
#line 420 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 422 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:422: move up");
#line 426 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_store_movement (self);
#line 428 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = (ClutterTransitionGroup*) clutter_transition_group_new ();
#line 428 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_move_trans);
#line 428 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_move_trans = _tmp0_;
#line 429 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_move_trans;
#line 429 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_connect_object ((ClutterTimeline*) _tmp1_, "stopped", (GCallback) __game_on_move_trans_stopped_clutter_timeline_stopped, self, 0);
#line 430 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_move_trans;
#line 430 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_animations_duration;
#line 430 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp2_, (guint) _tmp3_);
#line 432 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_grid;
#line 432 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_to_move;
#line 432 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_to_hide;
#line 432 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = self->priv->_to_show;
#line 432 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	grid_move_up (_tmp4_, _tmp5_, _tmp6_, _tmp7_);
#line 2688 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp8_ = NULL;
		GeeLinkedList* _tmp9_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp10_ = NULL;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		gint _e_index = 0;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_to_move;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp9_;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = _e_list;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp11_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp10_);
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp12_ = _tmp11_;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp12_;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 2716 "game.c"
			gint _tmp13_ = 0;
			gint _tmp14_ = 0;
			gint _tmp15_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp16_ = NULL;
			gint _tmp17_ = 0;
			gpointer _tmp18_ = NULL;
			TileMovement* _tmp19_ = NULL;
			GridPosition _tmp20_ = {0};
			TileMovement* _tmp21_ = NULL;
			GridPosition _tmp22_ = {0};
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp13_ = _e_index;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp13_ + 1;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_ = _e_index;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp15_ = _e_size;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp14_ < _tmp15_)) {
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 2740 "game.c"
			}
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp16_ = _e_list;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp17_ = _e_index;
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp18_;
#line 435 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = e;
#line 435 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = (*_tmp19_).from;
#line 435 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = e;
#line 435 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = (*_tmp21_).to;
#line 435 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_move_tile (self, &_tmp20_, &_tmp22_);
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 2762 "game.c"
		}
#line 434 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 2766 "game.c"
	}
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp23_ = NULL;
		GeeLinkedList* _tmp24_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp25_ = NULL;
		gint _tmp26_ = 0;
		gint _tmp27_ = 0;
		gint _e_index = 0;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp23_ = self->priv->_to_hide;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp24_;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp25_ = _e_list;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp26_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp25_);
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp27_ = _tmp26_;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp27_;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 2795 "game.c"
			gint _tmp28_ = 0;
			gint _tmp29_ = 0;
			gint _tmp30_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp31_ = NULL;
			gint _tmp32_ = 0;
			gpointer _tmp33_ = NULL;
			TileMovement* _tmp34_ = NULL;
			GridPosition _tmp35_ = {0};
			TileMovement* _tmp36_ = NULL;
			GridPosition _tmp37_ = {0};
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _e_index;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp28_ + 1;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = _e_index;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = _e_size;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp29_ < _tmp30_)) {
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 2819 "game.c"
			}
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = _e_list;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = _e_index;
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, _tmp32_);
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp33_;
#line 438 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = e;
#line 438 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = (*_tmp34_).from;
#line 438 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = e;
#line 438 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = (*_tmp36_).to;
#line 438 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_prepare_move_tile (self, &_tmp35_, &_tmp37_);
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 2841 "game.c"
		}
#line 437 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 2845 "game.c"
	}
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = self->priv->_to_move;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp40_);
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp42_ = _tmp41_;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp42_ > 0) {
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = TRUE;
#line 2857 "game.c"
	} else {
		GeeLinkedList* _tmp43_ = NULL;
		gint _tmp44_ = 0;
		gint _tmp45_ = 0;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = self->priv->_to_hide;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp44_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp43_);
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp45_ = _tmp44_;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = _tmp45_ > 0;
#line 2870 "game.c"
	}
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp39_) {
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = TRUE;
#line 2876 "game.c"
	} else {
		GeeLinkedList* _tmp46_ = NULL;
		gint _tmp47_ = 0;
		gint _tmp48_ = 0;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp46_ = self->priv->_to_show;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp47_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp46_);
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp48_ = _tmp47_;
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = _tmp48_ > 0;
#line 2889 "game.c"
	}
#line 440 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	has_moved = _tmp38_;
#line 442 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp49_ = has_moved;
#line 442 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp49_) {
#line 2897 "game.c"
		ClutterTransitionGroup* _tmp50_ = NULL;
#line 444 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_state = GAME_GAME_STATE_MOVING_UP;
#line 445 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp50_ = self->priv->_move_trans;
#line 445 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp50_);
#line 2905 "game.c"
	}
}


static void _game_move_left (Game* self) {
	gboolean has_moved = FALSE;
	ClutterTransitionGroup* _tmp0_ = NULL;
	ClutterTransitionGroup* _tmp1_ = NULL;
	ClutterTransitionGroup* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	Grid* _tmp4_ = NULL;
	GeeLinkedList* _tmp5_ = NULL;
	GeeLinkedList* _tmp6_ = NULL;
	GeeLinkedList* _tmp7_ = NULL;
	gboolean _tmp38_ = FALSE;
	gboolean _tmp39_ = FALSE;
	GeeLinkedList* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	gboolean _tmp49_ = FALSE;
#line 449 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 451 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:451: move left");
#line 455 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_store_movement (self);
#line 457 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = (ClutterTransitionGroup*) clutter_transition_group_new ();
#line 457 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_move_trans);
#line 457 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_move_trans = _tmp0_;
#line 458 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_move_trans;
#line 458 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_connect_object ((ClutterTimeline*) _tmp1_, "stopped", (GCallback) __game_on_move_trans_stopped_clutter_timeline_stopped, self, 0);
#line 459 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_move_trans;
#line 459 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_animations_duration;
#line 459 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp2_, (guint) _tmp3_);
#line 461 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_grid;
#line 461 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_to_move;
#line 461 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_to_hide;
#line 461 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = self->priv->_to_show;
#line 461 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	grid_move_left (_tmp4_, _tmp5_, _tmp6_, _tmp7_);
#line 2958 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp8_ = NULL;
		GeeLinkedList* _tmp9_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp10_ = NULL;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		gint _e_index = 0;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_to_move;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp9_;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = _e_list;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp11_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp10_);
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp12_ = _tmp11_;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp12_;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 2986 "game.c"
			gint _tmp13_ = 0;
			gint _tmp14_ = 0;
			gint _tmp15_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp16_ = NULL;
			gint _tmp17_ = 0;
			gpointer _tmp18_ = NULL;
			TileMovement* _tmp19_ = NULL;
			GridPosition _tmp20_ = {0};
			TileMovement* _tmp21_ = NULL;
			GridPosition _tmp22_ = {0};
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp13_ = _e_index;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp13_ + 1;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_ = _e_index;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp15_ = _e_size;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp14_ < _tmp15_)) {
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 3010 "game.c"
			}
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp16_ = _e_list;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp17_ = _e_index;
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp18_;
#line 464 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = e;
#line 464 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = (*_tmp19_).from;
#line 464 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = e;
#line 464 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = (*_tmp21_).to;
#line 464 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_move_tile (self, &_tmp20_, &_tmp22_);
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 3032 "game.c"
		}
#line 463 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 3036 "game.c"
	}
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp23_ = NULL;
		GeeLinkedList* _tmp24_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp25_ = NULL;
		gint _tmp26_ = 0;
		gint _tmp27_ = 0;
		gint _e_index = 0;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp23_ = self->priv->_to_hide;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp24_;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp25_ = _e_list;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp26_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp25_);
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp27_ = _tmp26_;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp27_;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 3065 "game.c"
			gint _tmp28_ = 0;
			gint _tmp29_ = 0;
			gint _tmp30_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp31_ = NULL;
			gint _tmp32_ = 0;
			gpointer _tmp33_ = NULL;
			TileMovement* _tmp34_ = NULL;
			GridPosition _tmp35_ = {0};
			TileMovement* _tmp36_ = NULL;
			GridPosition _tmp37_ = {0};
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _e_index;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp28_ + 1;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = _e_index;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = _e_size;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp29_ < _tmp30_)) {
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 3089 "game.c"
			}
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = _e_list;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = _e_index;
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, _tmp32_);
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp33_;
#line 467 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = e;
#line 467 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = (*_tmp34_).from;
#line 467 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = e;
#line 467 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = (*_tmp36_).to;
#line 467 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_prepare_move_tile (self, &_tmp35_, &_tmp37_);
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 3111 "game.c"
		}
#line 466 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 3115 "game.c"
	}
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = self->priv->_to_move;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp40_);
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp42_ = _tmp41_;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp42_ > 0) {
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = TRUE;
#line 3127 "game.c"
	} else {
		GeeLinkedList* _tmp43_ = NULL;
		gint _tmp44_ = 0;
		gint _tmp45_ = 0;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = self->priv->_to_hide;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp44_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp43_);
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp45_ = _tmp44_;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = _tmp45_ > 0;
#line 3140 "game.c"
	}
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp39_) {
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = TRUE;
#line 3146 "game.c"
	} else {
		GeeLinkedList* _tmp46_ = NULL;
		gint _tmp47_ = 0;
		gint _tmp48_ = 0;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp46_ = self->priv->_to_show;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp47_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp46_);
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp48_ = _tmp47_;
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = _tmp48_ > 0;
#line 3159 "game.c"
	}
#line 469 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	has_moved = _tmp38_;
#line 471 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp49_ = has_moved;
#line 471 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp49_) {
#line 3167 "game.c"
		ClutterTransitionGroup* _tmp50_ = NULL;
#line 473 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_state = GAME_GAME_STATE_MOVING_LEFT;
#line 474 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp50_ = self->priv->_move_trans;
#line 474 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp50_);
#line 3175 "game.c"
	}
}


static void _game_move_right (Game* self) {
	gboolean has_moved = FALSE;
	ClutterTransitionGroup* _tmp0_ = NULL;
	ClutterTransitionGroup* _tmp1_ = NULL;
	ClutterTransitionGroup* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	Grid* _tmp4_ = NULL;
	GeeLinkedList* _tmp5_ = NULL;
	GeeLinkedList* _tmp6_ = NULL;
	GeeLinkedList* _tmp7_ = NULL;
	gboolean _tmp38_ = FALSE;
	gboolean _tmp39_ = FALSE;
	GeeLinkedList* _tmp40_ = NULL;
	gint _tmp41_ = 0;
	gint _tmp42_ = 0;
	gboolean _tmp49_ = FALSE;
#line 478 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 480 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:480: move right");
#line 484 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_store_movement (self);
#line 486 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = (ClutterTransitionGroup*) clutter_transition_group_new ();
#line 486 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_move_trans);
#line 486 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_move_trans = _tmp0_;
#line 487 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_move_trans;
#line 487 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_connect_object ((ClutterTimeline*) _tmp1_, "stopped", (GCallback) __game_on_move_trans_stopped_clutter_timeline_stopped, self, 0);
#line 488 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_move_trans;
#line 488 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_animations_duration;
#line 488 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp2_, (guint) _tmp3_);
#line 490 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_grid;
#line 490 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_to_move;
#line 490 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_to_hide;
#line 490 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = self->priv->_to_show;
#line 490 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	grid_move_right (_tmp4_, _tmp5_, _tmp6_, _tmp7_);
#line 3228 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp8_ = NULL;
		GeeLinkedList* _tmp9_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp10_ = NULL;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
		gint _e_index = 0;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_to_move;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp9_ = _g_object_ref0 (_tmp8_);
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp9_;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = _e_list;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp11_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp10_);
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp12_ = _tmp11_;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp12_;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 3256 "game.c"
			gint _tmp13_ = 0;
			gint _tmp14_ = 0;
			gint _tmp15_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp16_ = NULL;
			gint _tmp17_ = 0;
			gpointer _tmp18_ = NULL;
			TileMovement* _tmp19_ = NULL;
			GridPosition _tmp20_ = {0};
			TileMovement* _tmp21_ = NULL;
			GridPosition _tmp22_ = {0};
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp13_ = _e_index;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp13_ + 1;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_ = _e_index;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp15_ = _e_size;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp14_ < _tmp15_)) {
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 3280 "game.c"
			}
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp16_ = _e_list;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp17_ = _e_index;
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp18_;
#line 493 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = e;
#line 493 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = (*_tmp19_).from;
#line 493 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = e;
#line 493 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = (*_tmp21_).to;
#line 493 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_move_tile (self, &_tmp20_, &_tmp22_);
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 3302 "game.c"
		}
#line 492 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 3306 "game.c"
	}
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp23_ = NULL;
		GeeLinkedList* _tmp24_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp25_ = NULL;
		gint _tmp26_ = 0;
		gint _tmp27_ = 0;
		gint _e_index = 0;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp23_ = self->priv->_to_hide;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp24_;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp25_ = _e_list;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp26_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp25_);
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp27_ = _tmp26_;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp27_;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 3335 "game.c"
			gint _tmp28_ = 0;
			gint _tmp29_ = 0;
			gint _tmp30_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp31_ = NULL;
			gint _tmp32_ = 0;
			gpointer _tmp33_ = NULL;
			TileMovement* _tmp34_ = NULL;
			GridPosition _tmp35_ = {0};
			TileMovement* _tmp36_ = NULL;
			GridPosition _tmp37_ = {0};
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _e_index;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp28_ + 1;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = _e_index;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = _e_size;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp29_ < _tmp30_)) {
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 3359 "game.c"
			}
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = _e_list;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = _e_index;
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, _tmp32_);
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp33_;
#line 496 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = e;
#line 496 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = (*_tmp34_).from;
#line 496 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = e;
#line 496 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = (*_tmp36_).to;
#line 496 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_prepare_move_tile (self, &_tmp35_, &_tmp37_);
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 3381 "game.c"
		}
#line 495 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 3385 "game.c"
	}
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = self->priv->_to_move;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp40_);
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp42_ = _tmp41_;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp42_ > 0) {
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = TRUE;
#line 3397 "game.c"
	} else {
		GeeLinkedList* _tmp43_ = NULL;
		gint _tmp44_ = 0;
		gint _tmp45_ = 0;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = self->priv->_to_hide;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp44_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp43_);
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp45_ = _tmp44_;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = _tmp45_ > 0;
#line 3410 "game.c"
	}
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp39_) {
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = TRUE;
#line 3416 "game.c"
	} else {
		GeeLinkedList* _tmp46_ = NULL;
		gint _tmp47_ = 0;
		gint _tmp48_ = 0;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp46_ = self->priv->_to_show;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp47_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp46_);
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp48_ = _tmp47_;
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = _tmp48_ > 0;
#line 3429 "game.c"
	}
#line 498 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	has_moved = _tmp38_;
#line 500 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp49_ = has_moved;
#line 500 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp49_) {
#line 3437 "game.c"
		ClutterTransitionGroup* _tmp50_ = NULL;
#line 502 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_state = GAME_GAME_STATE_MOVING_LEFT;
#line 503 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp50_ = self->priv->_move_trans;
#line 503 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp50_);
#line 3445 "game.c"
	}
}


static void _game_show_tile (Game* self, GridPosition* pos) {
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	ClutterPropertyTransition* trans = NULL;
	TileView* view = NULL;
	TileView** _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
	gint _tmp4__length2 = 0;
	GridPosition _tmp5_ = {0};
	guint _tmp6_ = 0U;
	GridPosition _tmp7_ = {0};
	guint _tmp8_ = 0U;
	TileView* _tmp9_ = NULL;
	TileView* _tmp10_ = NULL;
	ClutterCanvas* _tmp11_ = NULL;
	ClutterCanvas* _tmp12_ = NULL;
	ClutterActor* _tmp13_ = NULL;
	ClutterActor* _tmp14_ = NULL;
	ClutterActor* _tmp15_ = NULL;
	ClutterActor* _tmp16_ = NULL;
	ClutterActor* _tmp17_ = NULL;
	ClutterActor* _tmp18_ = NULL;
	ClutterActor* _tmp19_ = NULL;
	ClutterPropertyTransition* _tmp20_ = NULL;
	ClutterPropertyTransition* _tmp21_ = NULL;
	GValue _tmp22_ = {0};
	ClutterPropertyTransition* _tmp23_ = NULL;
	GValue _tmp24_ = {0};
	ClutterPropertyTransition* _tmp25_ = NULL;
	gint _tmp26_ = 0;
	ClutterPropertyTransition* _tmp27_ = NULL;
	ClutterActor* _tmp28_ = NULL;
	ClutterActor* _tmp29_ = NULL;
	ClutterTransitionGroup* _tmp30_ = NULL;
	ClutterPropertyTransition* _tmp31_ = NULL;
	ClutterPropertyTransition* _tmp32_ = NULL;
	ClutterPropertyTransition* _tmp33_ = NULL;
	GValue _tmp34_ = {0};
	ClutterPropertyTransition* _tmp35_ = NULL;
	GValue _tmp36_ = {0};
	ClutterPropertyTransition* _tmp37_ = NULL;
	gint _tmp38_ = 0;
	ClutterPropertyTransition* _tmp39_ = NULL;
	ClutterActor* _tmp40_ = NULL;
	ClutterActor* _tmp41_ = NULL;
	ClutterTransitionGroup* _tmp42_ = NULL;
	ClutterPropertyTransition* _tmp43_ = NULL;
	ClutterPropertyTransition* _tmp44_ = NULL;
	ClutterPropertyTransition* _tmp45_ = NULL;
	GValue _tmp46_ = {0};
	ClutterPropertyTransition* _tmp47_ = NULL;
	GValue _tmp48_ = {0};
	ClutterPropertyTransition* _tmp49_ = NULL;
	ClutterPropertyTransition* _tmp50_ = NULL;
	gint _tmp51_ = 0;
	ClutterActor* _tmp52_ = NULL;
	ClutterActor* _tmp53_ = NULL;
	ClutterPropertyTransition* _tmp54_ = NULL;
#line 507 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 507 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (pos != NULL);
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = grid_position_to_string (pos);
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _tmp0_;
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = g_strconcat ("show tile pos ", _tmp1_, NULL);
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _tmp2_;
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:509: %s", _tmp3_);
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp3_);
#line 509 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp1_);
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_foreground_nxt;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4__length1 = self->priv->_foreground_nxt_length1;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4__length2 = self->priv->_foreground_nxt_length2;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = *pos;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = _tmp5_.row;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = *pos;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = _tmp7_.col;
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = _tmp4_[(_tmp6_ * _tmp4__length2) + _tmp8_];
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = _g_object_ref0 (_tmp9_);
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (view);
#line 514 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	view = _tmp10_;
#line 515 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = rounded_rectangle_get_canvas ((RoundedRectangle*) view);
#line 515 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = _tmp11_;
#line 515 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_content_invalidate ((ClutterContent*) _tmp12_);
#line 516 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = rounded_rectangle_get_actor ((RoundedRectangle*) view);
#line 516 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = _tmp13_;
#line 516 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_set_opacity (_tmp14_, (guint8) 0);
#line 517 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = rounded_rectangle_get_actor ((RoundedRectangle*) view);
#line 517 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = _tmp15_;
#line 517 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_show (_tmp16_);
#line 518 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = self->priv->_view_foreground;
#line 518 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = rounded_rectangle_get_actor ((RoundedRectangle*) view);
#line 518 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = _tmp18_;
#line 518 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_add_child (_tmp17_, _tmp19_);
#line 520 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = (ClutterPropertyTransition*) clutter_property_transition_new ("scale-x");
#line 520 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 520 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	trans = _tmp20_;
#line 521 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = trans;
#line 521 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp22_, G_TYPE_DOUBLE);
#line 521 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_double (&_tmp22_, 1.0);
#line 521 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_from_value ((ClutterTransition*) _tmp21_, &_tmp22_);
#line 521 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp22_) ? (g_value_unset (&_tmp22_), NULL) : NULL;
#line 522 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = trans;
#line 522 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp24_, G_TYPE_DOUBLE);
#line 522 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_double (&_tmp24_, 1.1);
#line 522 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_to_value ((ClutterTransition*) _tmp23_, &_tmp24_);
#line 522 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp24_) ? (g_value_unset (&_tmp24_), NULL) : NULL;
#line 523 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = trans;
#line 523 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp26_ = self->priv->_animations_duration;
#line 523 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp25_, (guint) _tmp26_);
#line 524 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp27_ = trans;
#line 524 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp28_ = rounded_rectangle_get_actor ((RoundedRectangle*) view);
#line 524 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp29_ = _tmp28_;
#line 524 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_animatable ((ClutterTransition*) _tmp27_, (ClutterAnimatable*) _tmp29_);
#line 525 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp30_ = self->priv->_show_hide_trans;
#line 525 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp31_ = trans;
#line 525 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_group_add_transition (_tmp30_, (ClutterTransition*) _tmp31_);
#line 527 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp32_ = (ClutterPropertyTransition*) clutter_property_transition_new ("scale-y");
#line 527 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 527 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	trans = _tmp32_;
#line 528 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp33_ = trans;
#line 528 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp34_, G_TYPE_DOUBLE);
#line 528 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_double (&_tmp34_, 1.0);
#line 528 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_from_value ((ClutterTransition*) _tmp33_, &_tmp34_);
#line 528 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp34_) ? (g_value_unset (&_tmp34_), NULL) : NULL;
#line 529 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp35_ = trans;
#line 529 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp36_, G_TYPE_DOUBLE);
#line 529 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_double (&_tmp36_, 1.1);
#line 529 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_to_value ((ClutterTransition*) _tmp35_, &_tmp36_);
#line 529 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp36_) ? (g_value_unset (&_tmp36_), NULL) : NULL;
#line 530 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp37_ = trans;
#line 530 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp38_ = self->priv->_animations_duration;
#line 530 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp37_, (guint) _tmp38_);
#line 531 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp39_ = trans;
#line 531 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = rounded_rectangle_get_actor ((RoundedRectangle*) view);
#line 531 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = _tmp40_;
#line 531 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_animatable ((ClutterTransition*) _tmp39_, (ClutterAnimatable*) _tmp41_);
#line 532 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp42_ = self->priv->_show_hide_trans;
#line 532 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp43_ = trans;
#line 532 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_group_add_transition (_tmp42_, (ClutterTransition*) _tmp43_);
#line 534 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp44_ = (ClutterPropertyTransition*) clutter_property_transition_new ("opacity");
#line 534 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 534 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	trans = _tmp44_;
#line 535 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp45_ = trans;
#line 535 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp46_, G_TYPE_INT);
#line 535 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_int (&_tmp46_, 0);
#line 535 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_from_value ((ClutterTransition*) _tmp45_, &_tmp46_);
#line 535 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp46_) ? (g_value_unset (&_tmp46_), NULL) : NULL;
#line 536 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp47_ = trans;
#line 536 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp48_, G_TYPE_INT);
#line 536 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_int (&_tmp48_, 255);
#line 536 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_to_value ((ClutterTransition*) _tmp47_, &_tmp48_);
#line 536 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp48_) ? (g_value_unset (&_tmp48_), NULL) : NULL;
#line 537 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp49_ = trans;
#line 537 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_remove_on_complete ((ClutterTransition*) _tmp49_, TRUE);
#line 538 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp50_ = trans;
#line 538 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp51_ = self->priv->_animations_duration;
#line 538 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp50_, (guint) (_tmp51_ / 2));
#line 539 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp52_ = rounded_rectangle_get_actor ((RoundedRectangle*) view);
#line 539 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp53_ = _tmp52_;
#line 539 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp54_ = trans;
#line 539 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_add_transition (_tmp53_, "show", (ClutterTransition*) _tmp54_);
#line 507 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (view);
#line 507 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 3716 "game.c"
}


static void _game_move_tile (Game* self, GridPosition* from, GridPosition* to) {
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	GridPosition _tmp6_ = {0};
	GridPosition _tmp7_ = {0};
	TileView** _tmp8_ = NULL;
	gint _tmp8__length1 = 0;
	gint _tmp8__length2 = 0;
	GridPosition _tmp9_ = {0};
	guint _tmp10_ = 0U;
	GridPosition _tmp11_ = {0};
	guint _tmp12_ = 0U;
	TileView** _tmp13_ = NULL;
	gint _tmp13__length1 = 0;
	gint _tmp13__length2 = 0;
	GridPosition _tmp14_ = {0};
	guint _tmp15_ = 0U;
	GridPosition _tmp16_ = {0};
	guint _tmp17_ = 0U;
	TileView* _tmp18_ = NULL;
	TileView* _tmp19_ = NULL;
	TileView* _tmp20_ = NULL;
	TileView** _tmp21_ = NULL;
	gint _tmp21__length1 = 0;
	gint _tmp21__length2 = 0;
	GridPosition _tmp22_ = {0};
	guint _tmp23_ = 0U;
	GridPosition _tmp24_ = {0};
	guint _tmp25_ = 0U;
	TileView* _tmp26_ = NULL;
#line 542 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 542 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (from != NULL);
#line 542 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (to != NULL);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = grid_position_to_string (from);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _tmp0_;
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = grid_position_to_string (to);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _tmp2_;
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = g_strconcat ("move tile from ", _tmp1_, " to ", _tmp3_, NULL);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:544: %s", _tmp5_);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp5_);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp3_);
#line 544 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp1_);
#line 546 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = *from;
#line 546 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = *to;
#line 546 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_prepare_move_tile (self, &_tmp6_, &_tmp7_);
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = self->priv->_foreground_nxt;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8__length1 = self->priv->_foreground_nxt_length1;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8__length2 = self->priv->_foreground_nxt_length2;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = *to;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = _tmp9_.row;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = *to;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = _tmp11_.col;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = self->priv->_foreground_cur;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13__length1 = self->priv->_foreground_cur_length1;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13__length2 = self->priv->_foreground_cur_length2;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = *from;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = _tmp14_.row;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = *from;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = _tmp16_.col;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = _tmp13_[(_tmp15_ * _tmp13__length2) + _tmp17_];
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = _g_object_ref0 (_tmp18_);
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (_tmp8_[(_tmp10_ * _tmp8__length2) + _tmp12_]);
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_[(_tmp10_ * _tmp8__length2) + _tmp12_] = _tmp19_;
#line 548 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = _tmp8_[(_tmp10_ * _tmp8__length2) + _tmp12_];
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = self->priv->_foreground_cur;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21__length1 = self->priv->_foreground_cur_length1;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21__length2 = self->priv->_foreground_cur_length2;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp22_ = *from;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = _tmp22_.row;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp24_ = *from;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = _tmp24_.col;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (_tmp21_[(_tmp23_ * _tmp21__length2) + _tmp25_]);
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_[(_tmp23_ * _tmp21__length2) + _tmp25_] = NULL;
#line 549 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp26_ = _tmp21_[(_tmp23_ * _tmp21__length2) + _tmp25_];
#line 3844 "game.c"
}


static void _game_prepare_move_tile (Game* self, GridPosition* from, GridPosition* to) {
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gboolean row_move = FALSE;
	gchar* trans_name = NULL;
	ClutterPropertyTransition* trans = NULL;
	RoundedRectangle* rect_from = NULL;
	RoundedRectangle* rect_to = NULL;
	GridPosition _tmp6_ = {0};
	guint _tmp7_ = 0U;
	GridPosition _tmp8_ = {0};
	guint _tmp9_ = 0U;
	const gchar* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	gchar* _tmp12_ = NULL;
	RoundedRectangle** _tmp13_ = NULL;
	gint _tmp13__length1 = 0;
	gint _tmp13__length2 = 0;
	GridPosition _tmp14_ = {0};
	guint _tmp15_ = 0U;
	GridPosition _tmp16_ = {0};
	guint _tmp17_ = 0U;
	RoundedRectangle* _tmp18_ = NULL;
	RoundedRectangle* _tmp19_ = NULL;
	RoundedRectangle** _tmp20_ = NULL;
	gint _tmp20__length1 = 0;
	gint _tmp20__length2 = 0;
	GridPosition _tmp21_ = {0};
	guint _tmp22_ = 0U;
	GridPosition _tmp23_ = {0};
	guint _tmp24_ = 0U;
	RoundedRectangle* _tmp25_ = NULL;
	RoundedRectangle* _tmp26_ = NULL;
	const gchar* _tmp27_ = NULL;
	ClutterPropertyTransition* _tmp28_ = NULL;
	gfloat _tmp29_ = 0.0F;
	gboolean _tmp30_ = FALSE;
	ClutterPropertyTransition* _tmp41_ = NULL;
	GValue _tmp42_ = {0};
	gfloat _tmp43_ = 0.0F;
	gboolean _tmp44_ = FALSE;
	ClutterPropertyTransition* _tmp55_ = NULL;
	GValue _tmp56_ = {0};
	ClutterPropertyTransition* _tmp57_ = NULL;
	gint _tmp58_ = 0;
	ClutterPropertyTransition* _tmp59_ = NULL;
	TileView** _tmp60_ = NULL;
	gint _tmp60__length1 = 0;
	gint _tmp60__length2 = 0;
	GridPosition _tmp61_ = {0};
	guint _tmp62_ = 0U;
	GridPosition _tmp63_ = {0};
	guint _tmp64_ = 0U;
	TileView* _tmp65_ = NULL;
	ClutterActor* _tmp66_ = NULL;
	ClutterActor* _tmp67_ = NULL;
	ClutterTransitionGroup* _tmp68_ = NULL;
	ClutterPropertyTransition* _tmp69_ = NULL;
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (from != NULL);
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (to != NULL);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = grid_position_to_string (from);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _tmp0_;
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = grid_position_to_string (to);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _tmp2_;
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = g_strconcat ("prepare move tile from ", _tmp1_, " to ", _tmp3_, NULL);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:554: %s", _tmp5_);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp5_);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp3_);
#line 554 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp1_);
#line 562 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = *from;
#line 562 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = _tmp6_.col;
#line 562 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = *to;
#line 562 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = _tmp8_.col;
#line 562 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	row_move = _tmp7_ == _tmp9_;
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = row_move;
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp11_) {
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = "y";
#line 3952 "game.c"
	} else {
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = "x";
#line 3956 "game.c"
	}
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = g_strdup (_tmp10_);
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (trans_name);
#line 563 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	trans_name = _tmp12_;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = self->priv->_background;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13__length1 = self->priv->_background_length1;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13__length2 = self->priv->_background_length2;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = *from;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = _tmp14_.row;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = *from;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = _tmp16_.col;
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = _tmp13_[(_tmp15_ * _tmp13__length2) + _tmp17_];
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = _g_object_ref0 (_tmp18_);
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (rect_from);
#line 565 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rect_from = _tmp19_;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = self->priv->_background;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20__length1 = self->priv->_background_length1;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20__length2 = self->priv->_background_length2;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = *to;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp22_ = _tmp21_.row;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = *to;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp24_ = _tmp23_.col;
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = _tmp20_[(_tmp22_ * _tmp20__length2) + _tmp24_];
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp26_ = _g_object_ref0 (_tmp25_);
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (rect_to);
#line 566 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rect_to = _tmp26_;
#line 568 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp27_ = trans_name;
#line 568 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp28_ = (ClutterPropertyTransition*) clutter_property_transition_new (_tmp27_);
#line 568 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 568 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	trans = _tmp28_;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp30_ = row_move;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp30_) {
#line 4020 "game.c"
		RoundedRectangle* _tmp31_ = NULL;
		ClutterActor* _tmp32_ = NULL;
		ClutterActor* _tmp33_ = NULL;
		gfloat _tmp34_ = 0.0F;
		gfloat _tmp35_ = 0.0F;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp31_ = rect_from;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp32_ = rounded_rectangle_get_actor (_tmp31_);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp33_ = _tmp32_;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp34_ = clutter_actor_get_y (_tmp33_);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp35_ = _tmp34_;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp29_ = _tmp35_;
#line 4038 "game.c"
	} else {
		RoundedRectangle* _tmp36_ = NULL;
		ClutterActor* _tmp37_ = NULL;
		ClutterActor* _tmp38_ = NULL;
		gfloat _tmp39_ = 0.0F;
		gfloat _tmp40_ = 0.0F;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp36_ = rect_from;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp37_ = rounded_rectangle_get_actor (_tmp36_);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp38_ = _tmp37_;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = clutter_actor_get_x (_tmp38_);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp40_ = _tmp39_;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp29_ = _tmp40_;
#line 4057 "game.c"
	}
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = trans;
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp42_, G_TYPE_FLOAT);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_float (&_tmp42_, _tmp29_);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_from_value ((ClutterTransition*) _tmp41_, &_tmp42_);
#line 569 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp42_) ? (g_value_unset (&_tmp42_), NULL) : NULL;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp44_ = row_move;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp44_) {
#line 4073 "game.c"
		RoundedRectangle* _tmp45_ = NULL;
		ClutterActor* _tmp46_ = NULL;
		ClutterActor* _tmp47_ = NULL;
		gfloat _tmp48_ = 0.0F;
		gfloat _tmp49_ = 0.0F;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp45_ = rect_to;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp46_ = rounded_rectangle_get_actor (_tmp45_);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp47_ = _tmp46_;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp48_ = clutter_actor_get_y (_tmp47_);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp49_ = _tmp48_;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = _tmp49_;
#line 4091 "game.c"
	} else {
		RoundedRectangle* _tmp50_ = NULL;
		ClutterActor* _tmp51_ = NULL;
		ClutterActor* _tmp52_ = NULL;
		gfloat _tmp53_ = 0.0F;
		gfloat _tmp54_ = 0.0F;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp50_ = rect_to;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp51_ = rounded_rectangle_get_actor (_tmp50_);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp52_ = _tmp51_;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp53_ = clutter_actor_get_x (_tmp52_);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp54_ = _tmp53_;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = _tmp54_;
#line 4110 "game.c"
	}
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp55_ = trans;
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp56_, G_TYPE_FLOAT);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_float (&_tmp56_, _tmp43_);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_to_value ((ClutterTransition*) _tmp55_, &_tmp56_);
#line 570 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp56_) ? (g_value_unset (&_tmp56_), NULL) : NULL;
#line 571 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp57_ = trans;
#line 571 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp58_ = self->priv->_animations_duration;
#line 571 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp57_, (guint) _tmp58_);
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp59_ = trans;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp60_ = self->priv->_foreground_cur;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp60__length1 = self->priv->_foreground_cur_length1;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp60__length2 = self->priv->_foreground_cur_length2;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp61_ = *from;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp62_ = _tmp61_.row;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp63_ = *from;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp64_ = _tmp63_.col;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp65_ = _tmp60_[(_tmp62_ * _tmp60__length2) + _tmp64_];
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp66_ = rounded_rectangle_get_actor ((RoundedRectangle*) _tmp65_);
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp67_ = _tmp66_;
#line 572 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_animatable ((ClutterTransition*) _tmp59_, (ClutterAnimatable*) _tmp67_);
#line 573 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp68_ = self->priv->_move_trans;
#line 573 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp69_ = trans;
#line 573 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_group_add_transition (_tmp68_, (ClutterTransition*) _tmp69_);
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (rect_to);
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (rect_from);
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 552 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (trans_name);
#line 4166 "game.c"
}


static void _game_dim_tile (Game* self, GridPosition* pos) {
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	TileView** _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
	gint _tmp4__length2 = 0;
	GridPosition _tmp5_ = {0};
	guint _tmp6_ = 0U;
	GridPosition _tmp7_ = {0};
	guint _tmp8_ = 0U;
	TileView* _tmp9_ = NULL;
	guint _tmp10_ = 0U;
	guint _tmp11_ = 0U;
	gchar* _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	ClutterActor* actor = NULL;
	ClutterPropertyTransition* trans = NULL;
	TileView** _tmp16_ = NULL;
	gint _tmp16__length1 = 0;
	gint _tmp16__length2 = 0;
	GridPosition _tmp17_ = {0};
	guint _tmp18_ = 0U;
	GridPosition _tmp19_ = {0};
	guint _tmp20_ = 0U;
	TileView* _tmp21_ = NULL;
	ClutterActor* _tmp22_ = NULL;
	ClutterActor* _tmp23_ = NULL;
	ClutterActor* _tmp24_ = NULL;
	ClutterPropertyTransition* _tmp25_ = NULL;
	guint _tmp26_ = 0U;
	guint _tmp27_ = 0U;
	GValue _tmp28_ = {0};
	GValue _tmp29_ = {0};
	gint _tmp30_ = 0;
	ClutterTransitionGroup* _tmp31_ = NULL;
#line 576 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 576 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (pos != NULL);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = grid_position_to_string (pos);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _tmp0_;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = g_strconcat ("diming tile at ", _tmp1_, " ", NULL);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _tmp2_;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_foreground_cur;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4__length1 = self->priv->_foreground_cur_length1;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4__length2 = self->priv->_foreground_cur_length2;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = *pos;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = _tmp5_.row;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = *pos;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = _tmp7_.col;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = _tmp4_[(_tmp6_ * _tmp4__length2) + _tmp8_];
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = tile_view_get_value (_tmp9_);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = _tmp10_;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = g_strdup_printf ("%u", _tmp11_);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = _tmp12_;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = g_strconcat (_tmp3_, _tmp13_, NULL);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp15_ = _tmp14_;
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:578: %s", _tmp15_);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp15_);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp13_);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp3_);
#line 578 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp1_);
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16_ = self->priv->_foreground_cur;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16__length1 = self->priv->_foreground_cur_length1;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp16__length2 = self->priv->_foreground_cur_length2;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp17_ = *pos;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp18_ = _tmp17_.row;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp19_ = *pos;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp20_ = _tmp19_.col;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp21_ = _tmp16_[(_tmp18_ * _tmp16__length2) + _tmp20_];
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp22_ = rounded_rectangle_get_actor ((RoundedRectangle*) _tmp21_);
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp23_ = _tmp22_;
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp24_ = _g_object_ref0 (_tmp23_);
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (actor);
#line 583 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	actor = _tmp24_;
#line 585 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp25_ = (ClutterPropertyTransition*) clutter_property_transition_new ("opacity");
#line 585 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 585 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	trans = _tmp25_;
#line 586 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp26_ = clutter_actor_get_opacity (actor);
#line 586 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp27_ = _tmp26_;
#line 586 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp28_, G_TYPE_UINT);
#line 586 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_uint (&_tmp28_, _tmp27_);
#line 586 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_from_value ((ClutterTransition*) trans, &_tmp28_);
#line 586 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp28_) ? (g_value_unset (&_tmp28_), NULL) : NULL;
#line 587 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_init (&_tmp29_, G_TYPE_INT);
#line 587 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_value_set_int (&_tmp29_, 0);
#line 587 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_to_value ((ClutterTransition*) trans, &_tmp29_);
#line 587 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_IS_VALUE (&_tmp29_) ? (g_value_unset (&_tmp29_), NULL) : NULL;
#line 588 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp30_ = self->priv->_animations_duration;
#line 588 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) trans, (guint) _tmp30_);
#line 589 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_set_animatable ((ClutterTransition*) trans, (ClutterAnimatable*) actor);
#line 591 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp31_ = self->priv->_show_hide_trans;
#line 591 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_group_add_transition (_tmp31_, (ClutterTransition*) trans);
#line 576 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (trans);
#line 576 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (actor);
#line 4325 "game.c"
}


static void _game_clear_background (Game* self) {
	ClutterActor* _tmp0_ = NULL;
#line 594 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 596 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_view_background;
#line 596 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_remove_all_children (_tmp0_);
#line 4337 "game.c"
}


static void _game_clear_foreground (Game* self) {
	gint rows = 0;
	Grid* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint cols = 0;
	Grid* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	ClutterActor* _tmp6_ = NULL;
#line 599 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 601 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_grid;
#line 601 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = grid_get_rows (_tmp0_);
#line 601 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 601 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp2_;
#line 602 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_grid;
#line 602 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid_get_cols (_tmp3_);
#line 602 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 602 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp5_;
#line 603 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_view_foreground;
#line 603 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_remove_all_children (_tmp6_);
#line 4373 "game.c"
	{
		gint i = 0;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		i = 0;
#line 4378 "game.c"
		{
			gboolean _tmp7_ = FALSE;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp7_ = TRUE;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			while (TRUE) {
#line 4385 "game.c"
				gint _tmp9_ = 0;
				gint _tmp10_ = 0;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!_tmp7_) {
#line 4390 "game.c"
					gint _tmp8_ = 0;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					_tmp8_ = i;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					i = _tmp8_ + 1;
#line 4396 "game.c"
				}
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp7_ = FALSE;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp9_ = i;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp10_ = rows;
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!(_tmp9_ < _tmp10_)) {
#line 604 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					break;
#line 4408 "game.c"
				}
				{
					gint j = 0;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					j = 0;
#line 4414 "game.c"
					{
						gboolean _tmp11_ = FALSE;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						_tmp11_ = TRUE;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						while (TRUE) {
#line 4421 "game.c"
							gint _tmp13_ = 0;
							gint _tmp14_ = 0;
							TileView** _tmp15_ = NULL;
							gint _tmp15__length1 = 0;
							gint _tmp15__length2 = 0;
							gint _tmp16_ = 0;
							gint _tmp17_ = 0;
							TileView* _tmp18_ = NULL;
							TileView** _tmp23_ = NULL;
							gint _tmp23__length1 = 0;
							gint _tmp23__length2 = 0;
							gint _tmp24_ = 0;
							gint _tmp25_ = 0;
							TileView* _tmp26_ = NULL;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!_tmp11_) {
#line 4438 "game.c"
								gint _tmp12_ = 0;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp12_ = j;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								j = _tmp12_ + 1;
#line 4444 "game.c"
							}
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp11_ = FALSE;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp13_ = j;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp14_ = cols;
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!(_tmp13_ < _tmp14_)) {
#line 606 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								break;
#line 4456 "game.c"
							}
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp15_ = self->priv->_foreground_cur;
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp15__length1 = self->priv->_foreground_cur_length1;
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp15__length2 = self->priv->_foreground_cur_length2;
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp16_ = i;
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp17_ = j;
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp18_ = _tmp15_[(_tmp16_ * _tmp15__length2) + _tmp17_];
#line 608 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (_tmp18_ != NULL) {
#line 4472 "game.c"
								TileView** _tmp19_ = NULL;
								gint _tmp19__length1 = 0;
								gint _tmp19__length2 = 0;
								gint _tmp20_ = 0;
								gint _tmp21_ = 0;
								TileView* _tmp22_ = NULL;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp19_ = self->priv->_foreground_cur;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp19__length1 = self->priv->_foreground_cur_length1;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp19__length2 = self->priv->_foreground_cur_length2;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp20_ = i;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp21_ = j;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_g_object_unref0 (_tmp19_[(_tmp20_ * _tmp19__length2) + _tmp21_]);
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp19_[(_tmp20_ * _tmp19__length2) + _tmp21_] = NULL;
#line 609 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp22_ = _tmp19_[(_tmp20_ * _tmp19__length2) + _tmp21_];
#line 4495 "game.c"
							}
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp23_ = self->priv->_foreground_nxt;
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp23__length1 = self->priv->_foreground_nxt_length1;
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp23__length2 = self->priv->_foreground_nxt_length2;
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp24_ = i;
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp25_ = j;
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp26_ = _tmp23_[(_tmp24_ * _tmp23__length2) + _tmp25_];
#line 610 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (_tmp26_ != NULL) {
#line 4511 "game.c"
								TileView** _tmp27_ = NULL;
								gint _tmp27__length1 = 0;
								gint _tmp27__length2 = 0;
								gint _tmp28_ = 0;
								gint _tmp29_ = 0;
								TileView* _tmp30_ = NULL;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp27_ = self->priv->_foreground_nxt;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp27__length1 = self->priv->_foreground_nxt_length1;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp27__length2 = self->priv->_foreground_nxt_length2;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp28_ = i;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp29_ = j;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_g_object_unref0 (_tmp27_[(_tmp28_ * _tmp27__length2) + _tmp29_]);
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp27_[(_tmp28_ * _tmp27__length2) + _tmp29_] = NULL;
#line 611 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp30_ = _tmp27_[(_tmp28_ * _tmp27__length2) + _tmp29_];
#line 4534 "game.c"
							}
						}
					}
				}
			}
		}
	}
}


static void _game_restore_foreground (Game* self, gboolean animate) {
	guint val = 0U;
	GridPosition pos = {0};
	Tile tile = {0};
	gint rows = 0;
	Grid* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint cols = 0;
	Grid* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	gboolean _tmp6_ = FALSE;
	GeeLinkedList* _tmp30_ = NULL;
	gint _tmp31_ = 0;
	gint _tmp32_ = 0;
#line 616 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 621 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_grid;
#line 621 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = grid_get_rows (_tmp0_);
#line 621 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 621 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	rows = _tmp2_;
#line 622 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_grid;
#line 622 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = grid_get_cols (_tmp3_);
#line 622 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = _tmp4_;
#line 622 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	cols = _tmp5_;
#line 624 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = animate;
#line 624 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_create_show_hide_transition (self, _tmp6_);
#line 4583 "game.c"
	{
		gint i = 0;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		i = 0;
#line 4588 "game.c"
		{
			gboolean _tmp7_ = FALSE;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp7_ = TRUE;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			while (TRUE) {
#line 4595 "game.c"
				gint _tmp9_ = 0;
				gint _tmp10_ = 0;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!_tmp7_) {
#line 4600 "game.c"
					gint _tmp8_ = 0;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					_tmp8_ = i;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					i = _tmp8_ + 1;
#line 4606 "game.c"
				}
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp7_ = FALSE;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp9_ = i;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				_tmp10_ = rows;
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				if (!(_tmp9_ < _tmp10_)) {
#line 626 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					break;
#line 4618 "game.c"
				}
				{
					gint j = 0;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
					j = 0;
#line 4624 "game.c"
					{
						gboolean _tmp11_ = FALSE;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						_tmp11_ = TRUE;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
						while (TRUE) {
#line 4631 "game.c"
							gint _tmp13_ = 0;
							gint _tmp14_ = 0;
							Grid* _tmp15_ = NULL;
							gint _tmp16_ = 0;
							gint _tmp17_ = 0;
							guint _tmp18_ = 0U;
							guint _tmp19_ = 0U;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!_tmp11_) {
#line 4641 "game.c"
								gint _tmp12_ = 0;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp12_ = j;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								j = _tmp12_ + 1;
#line 4647 "game.c"
							}
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp11_ = FALSE;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp13_ = j;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp14_ = cols;
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (!(_tmp13_ < _tmp14_)) {
#line 628 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								break;
#line 4659 "game.c"
							}
#line 630 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp15_ = self->priv->_grid;
#line 630 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp16_ = i;
#line 630 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp17_ = j;
#line 630 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp18_ = grid_get (_tmp15_, _tmp16_, _tmp17_);
#line 630 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							val = _tmp18_;
#line 631 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							_tmp19_ = val;
#line 631 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
							if (_tmp19_ != ((guint) 0)) {
#line 4675 "game.c"
								gint _tmp20_ = 0;
								gint _tmp21_ = 0;
								GridPosition _tmp22_ = {0};
								GridPosition _tmp23_ = {0};
								guint _tmp24_ = 0U;
								Tile _tmp25_ = {0};
								Tile _tmp26_ = {0};
								GeeLinkedList* _tmp27_ = NULL;
								Tile _tmp28_ = {0};
								GridPosition _tmp29_ = {0};
#line 633 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp20_ = i;
#line 633 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp21_ = j;
#line 633 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp22_.row = (guint) _tmp20_;
#line 633 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp22_.col = (guint) _tmp21_;
#line 633 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								pos = _tmp22_;
#line 634 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp23_ = pos;
#line 634 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp24_ = val;
#line 634 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp25_.pos = _tmp23_;
#line 634 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp25_.val = _tmp24_;
#line 634 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								tile = _tmp25_;
#line 635 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp26_ = tile;
#line 635 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_game_create_tile (self, &_tmp26_);
#line 636 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp27_ = self->priv->_to_show;
#line 636 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp28_ = tile;
#line 636 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								gee_abstract_collection_add ((GeeAbstractCollection*) _tmp27_, &_tmp28_);
#line 637 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_tmp29_ = pos;
#line 637 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
								_game_show_tile (self, &_tmp29_);
#line 4720 "game.c"
							}
						}
					}
				}
			}
		}
	}
#line 642 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp30_ = self->priv->_to_show;
#line 642 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp31_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp30_);
#line 642 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp32_ = _tmp31_;
#line 642 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp32_ > 0) {
#line 4736 "game.c"
		ClutterTransitionGroup* _tmp33_ = NULL;
#line 644 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_state = GAME_GAME_STATE_RESTORING_TILES;
#line 645 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp33_ = self->priv->_show_hide_trans;
#line 645 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp33_);
#line 4744 "game.c"
	}
}


static gchar* bool_to_string (gboolean self) {
	gchar* result = NULL;
#line 37 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
	if (self) {
#line 4753 "game.c"
		gchar* _tmp0_ = NULL;
#line 38 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp0_ = g_strdup ("true");
#line 38 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
		result = _tmp0_;
#line 38 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
		return result;
#line 4761 "game.c"
	} else {
		gchar* _tmp1_ = NULL;
#line 40 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp1_ = g_strdup ("false");
#line 40 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
		result = _tmp1_;
#line 40 "/mnt/test/jhbuild/slash/share/vala-0.34/vapi/glib-2.0.vapi"
		return result;
#line 4770 "game.c"
	}
}


static void _game_on_move_trans_stopped (Game* self, gboolean is_finished) {
	gboolean _tmp0_ = FALSE;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	Grid* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	guint delta_score = 0U;
	ClutterTransitionGroup* _tmp8_ = NULL;
	guint _tmp40_ = 0U;
	guint _tmp41_ = 0U;
	guint _tmp42_ = 0U;
	ClutterTransitionGroup* _tmp43_ = NULL;
#line 649 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = is_finished;
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = bool_to_string (_tmp0_);
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = g_strconcat ("move animation stopped; finished ", _tmp2_, NULL);
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = _tmp3_;
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:651: %s", _tmp4_);
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp4_);
#line 651 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp2_);
#line 652 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_grid;
#line 652 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = grid_to_string (_tmp5_);
#line 652 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = _tmp6_;
#line 652 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:652: %s", _tmp7_);
#line 652 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp7_);
#line 656 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = self->priv->_move_trans;
#line 656 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_group_remove_all (_tmp8_);
#line 658 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_create_show_hide_transition (self, TRUE);
#line 4824 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp9_ = NULL;
		GeeLinkedList* _tmp10_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp11_ = NULL;
		gint _tmp12_ = 0;
		gint _tmp13_ = 0;
		gint _e_index = 0;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp9_ = self->priv->_to_hide;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp10_ = _g_object_ref0 (_tmp9_);
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp10_;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp11_ = _e_list;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp12_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp11_);
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp13_ = _tmp12_;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp13_;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 4852 "game.c"
			gint _tmp14_ = 0;
			gint _tmp15_ = 0;
			gint _tmp16_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp17_ = NULL;
			gint _tmp18_ = 0;
			gpointer _tmp19_ = NULL;
			TileMovement* _tmp20_ = NULL;
			GridPosition _tmp21_ = {0};
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_ = _e_index;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp14_ + 1;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp15_ = _e_index;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp16_ = _e_size;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp15_ < _tmp16_)) {
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 4874 "game.c"
			}
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp17_ = _e_list;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp18_ = _e_index;
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, _tmp18_);
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp19_;
#line 662 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = e;
#line 662 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = (*_tmp20_).from;
#line 662 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_dim_tile (self, &_tmp21_);
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 4892 "game.c"
		}
#line 660 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 4896 "game.c"
	}
#line 665 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	delta_score = (guint) 0;
#line 4900 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp22_ = NULL;
		GeeLinkedList* _tmp23_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp24_ = NULL;
		gint _tmp25_ = 0;
		gint _tmp26_ = 0;
		gint _e_index = 0;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp22_ = self->priv->_to_show;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp23_ = _g_object_ref0 (_tmp22_);
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp23_;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp24_ = _e_list;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp25_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp24_);
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp26_ = _tmp25_;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp26_;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 4928 "game.c"
			gint _tmp27_ = 0;
			gint _tmp28_ = 0;
			gint _tmp29_ = 0;
			Tile* e = NULL;
			GeeLinkedList* _tmp30_ = NULL;
			gint _tmp31_ = 0;
			gpointer _tmp32_ = NULL;
			Tile* _tmp33_ = NULL;
			Tile _tmp34_ = {0};
			Tile* _tmp35_ = NULL;
			GridPosition _tmp36_ = {0};
			guint _tmp37_ = 0U;
			Tile* _tmp38_ = NULL;
			guint _tmp39_ = 0U;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp27_ = _e_index;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp27_ + 1;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _e_index;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = _e_size;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp28_ < _tmp29_)) {
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 4955 "game.c"
			}
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = _e_list;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = _e_index;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = gee_abstract_list_get ((GeeAbstractList*) _tmp30_, _tmp31_);
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (Tile*) _tmp32_;
#line 668 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = e;
#line 668 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = *_tmp33_;
#line 668 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_create_tile (self, &_tmp34_);
#line 669 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = e;
#line 669 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = (*_tmp35_).pos;
#line 669 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_game_show_tile (self, &_tmp36_);
#line 670 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = delta_score;
#line 670 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp38_ = e;
#line 670 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp39_ = (*_tmp38_).val;
#line 670 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			delta_score = _tmp37_ + _tmp39_;
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_free0 (e);
#line 4987 "game.c"
		}
#line 666 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 4991 "game.c"
	}
#line 672 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp40_ = self->priv->_score;
#line 672 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp41_ = delta_score;
#line 672 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	game_set_score (self, _tmp40_ + _tmp41_);
#line 673 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp42_ = delta_score;
#line 673 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_store_score_update (self, _tmp42_);
#line 675 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_create_random_tile (self);
#line 677 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp43_ = self->priv->_show_hide_trans;
#line 677 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_start ((ClutterTimeline*) _tmp43_);
#line 5009 "game.c"
}


static gboolean __game_finish_move_gsource_func (gpointer self) {
	gboolean result;
	result = _game_finish_move ((Game*) self);
#line 705 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 5018 "game.c"
}


static void _game_on_show_hide_trans_stopped (Game* self, gboolean is_finished) {
	gboolean _tmp0_ = FALSE;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	ClutterTransitionGroup* _tmp5_ = NULL;
	ClutterTimelineDirection _tmp6_ = 0;
	ClutterTimelineDirection _tmp7_ = 0;
	Grid* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	ClutterTransitionGroup* _tmp13_ = NULL;
	guint _tmp63_ = 0U;
#line 680 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = is_finished;
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = bool_to_string (_tmp0_);
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = _tmp1_;
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = g_strconcat ("show/hide animation stopped; finished ", _tmp2_, NULL);
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = _tmp3_;
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:682: %s", _tmp4_);
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp4_);
#line 682 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp2_);
#line 684 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_show_hide_trans;
#line 684 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = clutter_timeline_get_direction ((ClutterTimeline*) _tmp5_);
#line 684 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = _tmp6_;
#line 684 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp7_ == CLUTTER_TIMELINE_FORWARD) {
#line 5062 "game.c"
		ClutterTransitionGroup* _tmp8_ = NULL;
		ClutterTransitionGroup* _tmp9_ = NULL;
#line 686 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp8_ = self->priv->_show_hide_trans;
#line 686 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_set_direction ((ClutterTimeline*) _tmp8_, CLUTTER_TIMELINE_BACKWARD);
#line 687 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp9_ = self->priv->_show_hide_trans;
#line 687 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		clutter_timeline_start ((ClutterTimeline*) _tmp9_);
#line 688 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return;
#line 5075 "game.c"
	}
#line 691 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = self->priv->_grid;
#line 691 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = grid_to_string (_tmp10_);
#line 691 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = _tmp11_;
#line 691 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_debug ("game.vala:691: %s", _tmp12_);
#line 691 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (_tmp12_);
#line 693 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = self->priv->_show_hide_trans;
#line 693 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_transition_group_remove_all (_tmp13_);
#line 5091 "game.c"
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp14_ = NULL;
		GeeLinkedList* _tmp15_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp16_ = NULL;
		gint _tmp17_ = 0;
		gint _tmp18_ = 0;
		gint _e_index = 0;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp14_ = self->priv->_to_hide;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp15_ = _g_object_ref0 (_tmp14_);
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp15_;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp16_ = _e_list;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp17_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp16_);
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp18_ = _tmp17_;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp18_;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 5119 "game.c"
			gint _tmp19_ = 0;
			gint _tmp20_ = 0;
			gint _tmp21_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp22_ = NULL;
			gint _tmp23_ = 0;
			gpointer _tmp24_ = NULL;
			TileView* view = NULL;
			TileView** _tmp25_ = NULL;
			gint _tmp25__length1 = 0;
			gint _tmp25__length2 = 0;
			TileMovement* _tmp26_ = NULL;
			GridPosition _tmp27_ = {0};
			guint _tmp28_ = 0U;
			TileMovement* _tmp29_ = NULL;
			GridPosition _tmp30_ = {0};
			guint _tmp31_ = 0U;
			TileView* _tmp32_ = NULL;
			TileView* _tmp33_ = NULL;
			TileView* _tmp34_ = NULL;
			ClutterActor* _tmp35_ = NULL;
			ClutterActor* _tmp36_ = NULL;
			TileView** _tmp37_ = NULL;
			gint _tmp37__length1 = 0;
			gint _tmp37__length2 = 0;
			TileMovement* _tmp38_ = NULL;
			GridPosition _tmp39_ = {0};
			guint _tmp40_ = 0U;
			TileMovement* _tmp41_ = NULL;
			GridPosition _tmp42_ = {0};
			guint _tmp43_ = 0U;
			TileView* _tmp44_ = NULL;
			guint _tmp45_ = 0U;
			guint _tmp46_ = 0U;
			gchar* _tmp47_ = NULL;
			gchar* _tmp48_ = NULL;
			gchar* _tmp49_ = NULL;
			gchar* _tmp50_ = NULL;
			ClutterActor* _tmp51_ = NULL;
			TileView* _tmp52_ = NULL;
			ClutterActor* _tmp53_ = NULL;
			ClutterActor* _tmp54_ = NULL;
			TileView** _tmp55_ = NULL;
			gint _tmp55__length1 = 0;
			gint _tmp55__length2 = 0;
			TileMovement* _tmp56_ = NULL;
			GridPosition _tmp57_ = {0};
			guint _tmp58_ = 0U;
			TileMovement* _tmp59_ = NULL;
			GridPosition _tmp60_ = {0};
			guint _tmp61_ = 0U;
			TileView* _tmp62_ = NULL;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = _e_index;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp19_ + 1;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = _e_index;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = _e_size;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp20_ < _tmp21_)) {
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 5184 "game.c"
			}
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = _e_list;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp23_ = _e_index;
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp24_ = gee_abstract_list_get ((GeeAbstractList*) _tmp22_, _tmp23_);
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp24_;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp25_ = self->priv->_foreground_cur;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp25__length1 = self->priv->_foreground_cur_length1;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp25__length2 = self->priv->_foreground_cur_length2;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp26_ = e;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp27_ = (*_tmp26_).from;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _tmp27_.row;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = e;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = (*_tmp29_).from;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = _tmp30_.col;
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = _tmp25_[(_tmp28_ * _tmp25__length2) + _tmp31_];
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = _g_object_ref0 (_tmp32_);
#line 697 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			view = _tmp33_;
#line 698 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = view;
#line 698 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = rounded_rectangle_get_actor ((RoundedRectangle*) _tmp34_);
#line 698 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = _tmp35_;
#line 698 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			clutter_actor_hide (_tmp36_);
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = self->priv->_foreground_cur;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37__length1 = self->priv->_foreground_cur_length1;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37__length2 = self->priv->_foreground_cur_length2;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp38_ = e;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp39_ = (*_tmp38_).from;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp40_ = _tmp39_.row;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp41_ = e;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp42_ = (*_tmp41_).from;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp43_ = _tmp42_.col;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp44_ = _tmp37_[(_tmp40_ * _tmp37__length2) + _tmp43_];
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp45_ = tile_view_get_value (_tmp44_);
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp46_ = _tmp45_;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp47_ = g_strdup_printf ("%u", _tmp46_);
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp48_ = _tmp47_;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp49_ = g_strconcat ("remove child ", _tmp48_, NULL);
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp50_ = _tmp49_;
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			g_debug ("game.vala:699: %s", _tmp50_);
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_free0 (_tmp50_);
#line 699 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_free0 (_tmp48_);
#line 700 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp51_ = self->priv->_view_foreground;
#line 700 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp52_ = view;
#line 700 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp53_ = rounded_rectangle_get_actor ((RoundedRectangle*) _tmp52_);
#line 700 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp54_ = _tmp53_;
#line 700 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			clutter_actor_remove_child (_tmp51_, _tmp54_);
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp55_ = self->priv->_foreground_cur;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp55__length1 = self->priv->_foreground_cur_length1;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp55__length2 = self->priv->_foreground_cur_length2;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp56_ = e;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp57_ = (*_tmp56_).from;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp58_ = _tmp57_.row;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp59_ = e;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp60_ = (*_tmp59_).from;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp61_ = _tmp60_.col;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_object_unref0 (_tmp55_[(_tmp58_ * _tmp55__length2) + _tmp61_]);
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp55_[(_tmp58_ * _tmp55__length2) + _tmp61_] = NULL;
#line 702 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp62_ = _tmp55_[(_tmp58_ * _tmp55__length2) + _tmp61_];
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_object_unref0 (view);
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 5302 "game.c"
		}
#line 695 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 5306 "game.c"
	}
#line 705 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp63_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 100, __game_finish_move_gsource_func, g_object_ref (self), g_object_unref);
#line 705 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_finish_move_id = _tmp63_;
#line 5312 "game.c"
}


static void __game_on_show_hide_trans_stopped_clutter_timeline_stopped (ClutterTimeline* _sender, gboolean is_finished, gpointer self) {
#line 711 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_on_show_hide_trans_stopped ((Game*) self, is_finished);
#line 5319 "game.c"
}


static void _game_create_show_hide_transition (Game* self, gboolean animate) {
	ClutterTransitionGroup* _tmp0_ = NULL;
	ClutterTransitionGroup* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	ClutterTransitionGroup* _tmp5_ = NULL;
#line 708 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 710 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = (ClutterTransitionGroup*) clutter_transition_group_new ();
#line 710 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_show_hide_trans);
#line 710 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_show_hide_trans = _tmp0_;
#line 711 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_show_hide_trans;
#line 711 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_connect_object ((ClutterTimeline*) _tmp1_, "stopped", (GCallback) __game_on_show_hide_trans_stopped_clutter_timeline_stopped, self, 0);
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = animate;
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp3_) {
#line 5345 "game.c"
		gint _tmp4_ = 0;
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp4_ = self->priv->_animations_duration;
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp2_ = _tmp4_;
#line 5351 "game.c"
	} else {
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp2_ = 10;
#line 5355 "game.c"
	}
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_show_hide_trans;
#line 712 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_timeline_set_duration ((ClutterTimeline*) _tmp5_, (guint) _tmp2_);
#line 5361 "game.c"
}


static gboolean _game_finish_move (Game* self) {
	gboolean result = FALSE;
	GameGameState _tmp0_ = 0;
	GeeLinkedList* _tmp75_ = NULL;
	GeeLinkedList* _tmp76_ = NULL;
	GeeLinkedList* _tmp77_ = NULL;
	Grid* _tmp78_ = NULL;
	gboolean _tmp79_ = FALSE;
	gboolean _tmp80_ = FALSE;
	Grid* _tmp85_ = NULL;
	gboolean _tmp86_ = FALSE;
#line 715 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 717 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_state;
#line 717 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp0_ == GAME_GAME_STATE_SHOWING_FIRST_TILE) {
#line 719 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		self->priv->_state = GAME_GAME_STATE_SHOWING_SECOND_TILE;
#line 720 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_debug ("game.vala:720: state show second tile");
#line 721 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_game_create_random_tile (self);
#line 5388 "game.c"
	} else {
		GameGameState _tmp1_ = 0;
#line 723 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp1_ = self->priv->_state;
#line 723 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		if (_tmp1_ == GAME_GAME_STATE_SHOWING_SECOND_TILE) {
#line 725 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			self->priv->_state = GAME_GAME_STATE_IDLE;
#line 726 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			g_debug ("game.vala:726: state idle");
#line 5399 "game.c"
		} else {
			GameGameState _tmp2_ = 0;
#line 728 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp2_ = self->priv->_state;
#line 728 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (_tmp2_ != GAME_GAME_STATE_IDLE) {
#line 730 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				self->priv->_state = GAME_GAME_STATE_IDLE;
#line 731 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				g_debug ("game.vala:731: state idle");
#line 5410 "game.c"
			}
		}
	}
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp3_ = NULL;
		GeeLinkedList* _tmp4_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp5_ = NULL;
		gint _tmp6_ = 0;
		gint _tmp7_ = 0;
		gint _e_index = 0;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp3_ = self->priv->_to_move;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp4_ = _g_object_ref0 (_tmp3_);
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp4_;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp5_ = _e_list;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp6_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp5_);
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp7_ = _tmp6_;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp7_;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 5441 "game.c"
			gint _tmp8_ = 0;
			gint _tmp9_ = 0;
			gint _tmp10_ = 0;
			TileMovement* e = NULL;
			GeeLinkedList* _tmp11_ = NULL;
			gint _tmp12_ = 0;
			gpointer _tmp13_ = NULL;
			TileView** _tmp14_ = NULL;
			gint _tmp14__length1 = 0;
			gint _tmp14__length2 = 0;
			TileMovement* _tmp15_ = NULL;
			GridPosition _tmp16_ = {0};
			guint _tmp17_ = 0U;
			TileMovement* _tmp18_ = NULL;
			GridPosition _tmp19_ = {0};
			guint _tmp20_ = 0U;
			TileView** _tmp21_ = NULL;
			gint _tmp21__length1 = 0;
			gint _tmp21__length2 = 0;
			TileMovement* _tmp22_ = NULL;
			GridPosition _tmp23_ = {0};
			guint _tmp24_ = 0U;
			TileMovement* _tmp25_ = NULL;
			GridPosition _tmp26_ = {0};
			guint _tmp27_ = 0U;
			TileView* _tmp28_ = NULL;
			TileView* _tmp29_ = NULL;
			TileView* _tmp30_ = NULL;
			TileView** _tmp31_ = NULL;
			gint _tmp31__length1 = 0;
			gint _tmp31__length2 = 0;
			TileMovement* _tmp32_ = NULL;
			GridPosition _tmp33_ = {0};
			guint _tmp34_ = 0U;
			TileMovement* _tmp35_ = NULL;
			GridPosition _tmp36_ = {0};
			guint _tmp37_ = 0U;
			TileView* _tmp38_ = NULL;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp8_ = _e_index;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp8_ + 1;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp9_ = _e_index;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp10_ = _e_size;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp9_ < _tmp10_)) {
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 5492 "game.c"
			}
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp11_ = _e_list;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp12_ = _e_index;
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp11_, _tmp12_);
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (TileMovement*) _tmp13_;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_ = self->priv->_foreground_cur;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14__length1 = self->priv->_foreground_cur_length1;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14__length2 = self->priv->_foreground_cur_length2;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp15_ = e;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp16_ = (*_tmp15_).to;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp17_ = _tmp16_.row;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp18_ = e;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp19_ = (*_tmp18_).to;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp20_ = _tmp19_.col;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21_ = self->priv->_foreground_nxt;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21__length1 = self->priv->_foreground_nxt_length1;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp21__length2 = self->priv->_foreground_nxt_length2;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp22_ = e;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp23_ = (*_tmp22_).to;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp24_ = _tmp23_.row;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp25_ = e;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp26_ = (*_tmp25_).to;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp27_ = _tmp26_.col;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp28_ = _tmp21_[(_tmp24_ * _tmp21__length2) + _tmp27_];
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp29_ = _g_object_ref0 (_tmp28_);
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_object_unref0 (_tmp14_[(_tmp17_ * _tmp14__length2) + _tmp20_]);
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp14_[(_tmp17_ * _tmp14__length2) + _tmp20_] = _tmp29_;
#line 736 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp30_ = _tmp14_[(_tmp17_ * _tmp14__length2) + _tmp20_];
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_ = self->priv->_foreground_nxt;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31__length1 = self->priv->_foreground_nxt_length1;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31__length2 = self->priv->_foreground_nxt_length2;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp32_ = e;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp33_ = (*_tmp32_).to;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp34_ = _tmp33_.row;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp35_ = e;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp36_ = (*_tmp35_).to;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp37_ = _tmp36_.col;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_object_unref0 (_tmp31_[(_tmp34_ * _tmp31__length2) + _tmp37_]);
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp31_[(_tmp34_ * _tmp31__length2) + _tmp37_] = NULL;
#line 737 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp38_ = _tmp31_[(_tmp34_ * _tmp31__length2) + _tmp37_];
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_movement_free0 (e);
#line 5574 "game.c"
		}
#line 734 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 5578 "game.c"
	}
	{
		GeeLinkedList* _e_list = NULL;
		GeeLinkedList* _tmp39_ = NULL;
		GeeLinkedList* _tmp40_ = NULL;
		gint _e_size = 0;
		GeeLinkedList* _tmp41_ = NULL;
		gint _tmp42_ = 0;
		gint _tmp43_ = 0;
		gint _e_index = 0;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp39_ = self->priv->_to_show;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp40_ = _g_object_ref0 (_tmp39_);
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_list = _tmp40_;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp41_ = _e_list;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp42_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp41_);
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp43_ = _tmp42_;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_size = _tmp43_;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_e_index = -1;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		while (TRUE) {
#line 5607 "game.c"
			gint _tmp44_ = 0;
			gint _tmp45_ = 0;
			gint _tmp46_ = 0;
			Tile* e = NULL;
			GeeLinkedList* _tmp47_ = NULL;
			gint _tmp48_ = 0;
			gpointer _tmp49_ = NULL;
			TileView** _tmp50_ = NULL;
			gint _tmp50__length1 = 0;
			gint _tmp50__length2 = 0;
			Tile* _tmp51_ = NULL;
			GridPosition _tmp52_ = {0};
			guint _tmp53_ = 0U;
			Tile* _tmp54_ = NULL;
			GridPosition _tmp55_ = {0};
			guint _tmp56_ = 0U;
			TileView** _tmp57_ = NULL;
			gint _tmp57__length1 = 0;
			gint _tmp57__length2 = 0;
			Tile* _tmp58_ = NULL;
			GridPosition _tmp59_ = {0};
			guint _tmp60_ = 0U;
			Tile* _tmp61_ = NULL;
			GridPosition _tmp62_ = {0};
			guint _tmp63_ = 0U;
			TileView* _tmp64_ = NULL;
			TileView* _tmp65_ = NULL;
			TileView* _tmp66_ = NULL;
			TileView** _tmp67_ = NULL;
			gint _tmp67__length1 = 0;
			gint _tmp67__length2 = 0;
			Tile* _tmp68_ = NULL;
			GridPosition _tmp69_ = {0};
			guint _tmp70_ = 0U;
			Tile* _tmp71_ = NULL;
			GridPosition _tmp72_ = {0};
			guint _tmp73_ = 0U;
			TileView* _tmp74_ = NULL;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp44_ = _e_index;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_e_index = _tmp44_ + 1;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp45_ = _e_index;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp46_ = _e_size;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			if (!(_tmp45_ < _tmp46_)) {
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
				break;
#line 5658 "game.c"
			}
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp47_ = _e_list;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp48_ = _e_index;
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp49_ = gee_abstract_list_get ((GeeAbstractList*) _tmp47_, _tmp48_);
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			e = (Tile*) _tmp49_;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp50_ = self->priv->_foreground_cur;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp50__length1 = self->priv->_foreground_cur_length1;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp50__length2 = self->priv->_foreground_cur_length2;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp51_ = e;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp52_ = (*_tmp51_).pos;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp53_ = _tmp52_.row;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp54_ = e;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp55_ = (*_tmp54_).pos;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp56_ = _tmp55_.col;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp57_ = self->priv->_foreground_nxt;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp57__length1 = self->priv->_foreground_nxt_length1;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp57__length2 = self->priv->_foreground_nxt_length2;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp58_ = e;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp59_ = (*_tmp58_).pos;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp60_ = _tmp59_.row;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp61_ = e;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp62_ = (*_tmp61_).pos;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp63_ = _tmp62_.col;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp64_ = _tmp57_[(_tmp60_ * _tmp57__length2) + _tmp63_];
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp65_ = _g_object_ref0 (_tmp64_);
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_object_unref0 (_tmp50_[(_tmp53_ * _tmp50__length2) + _tmp56_]);
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp50_[(_tmp53_ * _tmp50__length2) + _tmp56_] = _tmp65_;
#line 741 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp66_ = _tmp50_[(_tmp53_ * _tmp50__length2) + _tmp56_];
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp67_ = self->priv->_foreground_nxt;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp67__length1 = self->priv->_foreground_nxt_length1;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp67__length2 = self->priv->_foreground_nxt_length2;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp68_ = e;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp69_ = (*_tmp68_).pos;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp70_ = _tmp69_.row;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp71_ = e;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp72_ = (*_tmp71_).pos;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp73_ = _tmp72_.col;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_g_object_unref0 (_tmp67_[(_tmp70_ * _tmp67__length2) + _tmp73_]);
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp67_[(_tmp70_ * _tmp67__length2) + _tmp73_] = NULL;
#line 742 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tmp74_ = _tmp67_[(_tmp70_ * _tmp67__length2) + _tmp73_];
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
			_tile_free0 (e);
#line 5740 "game.c"
		}
#line 739 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_e_list);
#line 5744 "game.c"
	}
#line 745 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp75_ = self->priv->_to_hide;
#line 745 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp75_);
#line 746 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp76_ = self->priv->_to_move;
#line 746 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp76_);
#line 747 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp77_ = self->priv->_to_show;
#line 747 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp77_);
#line 749 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp78_ = self->priv->_grid;
#line 749 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp79_ = grid_get_target_value_reached (_tmp78_);
#line 749 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp80_ = _tmp79_;
#line 749 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp80_) {
#line 5766 "game.c"
		Grid* _tmp81_ = NULL;
		guint _tmp82_ = 0U;
		guint _tmp83_ = 0U;
		Grid* _tmp84_ = NULL;
#line 751 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp81_ = self->priv->_grid;
#line 751 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp82_ = grid_get_target_value (_tmp81_);
#line 751 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp83_ = _tmp82_;
#line 751 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_signal_emit_by_name (self, "target-value-reached", _tmp83_);
#line 752 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp84_ = self->priv->_grid;
#line 752 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		grid_set_target_value_reached (_tmp84_, FALSE);
#line 5783 "game.c"
	}
#line 755 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp85_ = self->priv->_grid;
#line 755 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp86_ = grid_is_finished (_tmp85_);
#line 755 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp86_) {
#line 756 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_signal_emit_by_name (self, "finished");
#line 5793 "game.c"
	}
#line 758 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_finish_move_id = (guint) 0;
#line 759 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = FALSE;
#line 759 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 5801 "game.c"
}


static void _game_store_movement (Game* self) {
	gboolean _tmp0_ = FALSE;
	GeeLinkedList* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	guint _tmp4_ = 0U;
	GeeLinkedList* _tmp8_ = NULL;
	Grid* _tmp9_ = NULL;
	Grid* _tmp10_ = NULL;
	Grid* _tmp11_ = NULL;
	GeeLinkedList* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
#line 762 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 764 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_allow_undo;
#line 764 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (!_tmp0_) {
#line 765 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return;
#line 5826 "game.c"
	}
#line 767 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_undo_stack;
#line 767 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp1_);
#line 767 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _tmp2_;
#line 767 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_undo_stack_max_size;
#line 767 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (((guint) _tmp3_) == _tmp4_) {
#line 5838 "game.c"
		GeeLinkedList* _tmp5_ = NULL;
		gpointer _tmp6_ = NULL;
		Grid* _tmp7_ = NULL;
#line 768 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp5_ = self->priv->_undo_stack;
#line 768 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp6_ = gee_deque_poll_tail ((GeeDeque*) _tmp5_);
#line 768 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp7_ = (Grid*) _tmp6_;
#line 768 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_g_object_unref0 (_tmp7_);
#line 5850 "game.c"
	}
#line 769 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp8_ = self->priv->_undo_stack;
#line 769 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp9_ = self->priv->_grid;
#line 769 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp10_ = grid_clone (_tmp9_);
#line 769 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp11_ = _tmp10_;
#line 769 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_deque_offer_head ((GeeDeque*) _tmp8_, _tmp11_);
#line 769 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (_tmp11_);
#line 770 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp12_ = self->priv->_undo_stack;
#line 770 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp13_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp12_);
#line 770 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp14_ = _tmp13_;
#line 770 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (_tmp14_ == 1) {
#line 771 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_signal_emit_by_name (self, "undo-enabled");
#line 5874 "game.c"
	}
}


static void _game_store_score_update (Game* self, guint delta_score) {
	gboolean _tmp0_ = FALSE;
	GeeLinkedList* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	guint _tmp4_ = 0U;
	GeeLinkedList* _tmp6_ = NULL;
	guint _tmp7_ = 0U;
#line 774 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 776 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_allow_undo;
#line 776 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (!_tmp0_) {
#line 777 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		return;
#line 5895 "game.c"
	}
#line 779 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = self->priv->_undo_score_stack;
#line 779 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp1_);
#line 779 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = _tmp2_;
#line 779 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_undo_stack_max_size;
#line 779 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	if (((guint) _tmp3_) == _tmp4_) {
#line 5907 "game.c"
		GeeLinkedList* _tmp5_ = NULL;
#line 780 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		_tmp5_ = self->priv->_undo_score_stack;
#line 780 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		gee_deque_poll_tail ((GeeDeque*) _tmp5_);
#line 5913 "game.c"
	}
#line 781 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_undo_score_stack;
#line 781 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp7_ = delta_score;
#line 781 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	gee_deque_offer_head ((GeeDeque*) _tmp6_, (gpointer) ((guintptr) _tmp7_));
#line 5921 "game.c"
}


ClutterActor* game_get_view (Game* self) {
	ClutterActor* result;
	ClutterActor* _tmp0_ = NULL;
#line 106 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 106 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_view;
#line 106 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = _tmp0_;
#line 106 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 5936 "game.c"
}


static void __game_on_allocation_changed_clutter_actor_allocation_changed (ClutterActor* _sender, ClutterActorBox* box, ClutterAllocationFlags flags, gpointer self) {
#line 109 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_game_on_allocation_changed ((Game*) self, box, flags);
#line 5943 "game.c"
}


void game_set_view (Game* self, ClutterActor* value) {
	ClutterActor* _tmp0_ = NULL;
	ClutterActor* _tmp1_ = NULL;
	ClutterActor* _tmp2_ = NULL;
	ClutterActor* _tmp3_ = NULL;
	ClutterActor* _tmp4_ = NULL;
	ClutterActor* _tmp5_ = NULL;
	ClutterActor* _tmp6_ = NULL;
#line 107 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 108 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = value;
#line 108 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 108 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_view);
#line 108 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_view = _tmp1_;
#line 109 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp2_ = self->priv->_view;
#line 109 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_connect_object (_tmp2_, "allocation-changed", (GCallback) __game_on_allocation_changed_clutter_actor_allocation_changed, self, 0);
#line 110 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp3_ = self->priv->_view;
#line 110 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp4_ = self->priv->_view_background;
#line 110 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_add_child (_tmp3_, _tmp4_);
#line 111 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp5_ = self->priv->_view;
#line 111 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp6_ = self->priv->_view_foreground;
#line 111 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	clutter_actor_add_child (_tmp5_, _tmp6_);
#line 107 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_object_notify ((GObject *) self, "view");
#line 5983 "game.c"
}


guint game_get_score (Game* self) {
	guint result;
	guint _tmp0_ = 0U;
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_val_if_fail (self != NULL, 0U);
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = self->priv->_score;
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	result = _tmp0_;
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	return result;
#line 5998 "game.c"
}


void game_set_score (Game* self, guint value) {
	guint _tmp0_ = 0U;
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_return_if_fail (self != NULL);
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_tmp0_ = value;
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_score = _tmp0_;
#line 116 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_object_notify ((GObject *) self, "score");
#line 6012 "game.c"
}


static void game_class_init (GameClass * klass) {
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	game_parent_class = g_type_class_peek_parent (klass);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_type_class_add_private (klass, sizeof (GamePrivate));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_game_get_property;
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_game_set_property;
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_OBJECT_CLASS (klass)->finalize = game_finalize;
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_VIEW, g_param_spec_object ("view", "view", "view", clutter_actor_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_SCORE, g_param_spec_uint ("score", "score", "score", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_new ("finished", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_new ("target_value_reached", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_new ("undo_enabled", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	g_signal_new ("undo_disabled", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 6039 "game.c"
}


static void game_instance_init (Game * self) {
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv = GAME_GET_PRIVATE (self);
#line 34 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->BLANK_ROW_HEIGHT = 10;
#line 35 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->BLANK_COL_WIDTH = 10;
#line 39 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_finish_move_id = (guint) 0;
#line 6052 "game.c"
}


static void game_finalize (GObject* obj) {
	Game * self;
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GAME, Game);
#line 37 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_grid);
#line 40 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_view);
#line 41 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_view_background);
#line 42 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_view_foreground);
#line 43 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_background = (_vala_array_free (self->priv->_background, self->priv->_background_length1 * self->priv->_background_length2, (GDestroyNotify) g_object_unref), NULL);
#line 44 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_cur = (_vala_array_free (self->priv->_foreground_cur, self->priv->_foreground_cur_length1 * self->priv->_foreground_cur_length2, (GDestroyNotify) g_object_unref), NULL);
#line 45 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	self->priv->_foreground_nxt = (_vala_array_free (self->priv->_foreground_nxt, self->priv->_foreground_nxt_length1 * self->priv->_foreground_nxt_length2, (GDestroyNotify) g_object_unref), NULL);
#line 47 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_to_move);
#line 48 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_to_hide);
#line 49 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_to_show);
#line 52 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_show_hide_trans);
#line 53 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_move_trans);
#line 58 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_undo_stack);
#line 59 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_undo_score_stack);
#line 61 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_object_unref0 (self->priv->_settings);
#line 63 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	_g_free0 (self->priv->_saved_path);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	G_OBJECT_CLASS (game_parent_class)->finalize (obj);
#line 6094 "game.c"
}


GType game_get_type (void) {
	static volatile gsize game_type_id__volatile = 0;
	if (g_once_init_enter (&game_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GameClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) game_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Game), 0, (GInstanceInitFunc) game_instance_init, NULL };
		GType game_type_id;
		game_type_id = g_type_register_static (G_TYPE_OBJECT, "Game", &g_define_type_info, 0);
		g_once_init_leave (&game_type_id__volatile, game_type_id);
	}
	return game_type_id__volatile;
}


static void _vala_game_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Game * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_GAME, Game);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	switch (property_id) {
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		case GAME_VIEW:
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_value_set_object (value, game_get_view (self));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		break;
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		case GAME_SCORE:
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		g_value_set_uint (value, game_get_score (self));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		break;
#line 6127 "game.c"
		default:
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		break;
#line 6133 "game.c"
	}
}


static void _vala_game_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Game * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_GAME, Game);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
	switch (property_id) {
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		case GAME_VIEW:
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		game_set_view (self, g_value_get_object (value));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		break;
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		case GAME_SCORE:
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		game_set_score (self, g_value_get_uint (value));
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		break;
#line 6155 "game.c"
		default:
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/mnt/test/jhbuild/jhbuild/gnome-2048/src/game.vala"
		break;
#line 6161 "game.c"
	}
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



