/* game.c generated by valac 0.34.0.4-5c9b2, the Vala compiler
 * generated from game.vala, do not modify */

/*
 * Copyright (C) 2010-2013 Robert Ancell
 *
 * This program 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 2 of the License, or (at your option) any later
 * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
 * license.
 */

#include <glib.h>
#include <glib-object.h>
#include <math.h>
#include <float.h>
#include <string.h>


#define TYPE_BLOCK (block_get_type ())
#define BLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BLOCK, Block))
#define BLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BLOCK, BlockClass))
#define IS_BLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BLOCK))
#define IS_BLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BLOCK))
#define BLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BLOCK, BlockClass))

typedef struct _Block Block;
typedef struct _BlockClass BlockClass;
typedef struct _BlockPrivate BlockPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_SHAPE (shape_get_type ())
#define SHAPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHAPE, Shape))
#define SHAPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHAPE, ShapeClass))
#define IS_SHAPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHAPE))
#define IS_SHAPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHAPE))
#define SHAPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHAPE, ShapeClass))

typedef struct _Shape Shape;
typedef struct _ShapeClass ShapeClass;
typedef struct _ShapePrivate ShapePrivate;
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

#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;

struct _Block {
	GObject parent_instance;
	BlockPrivate * priv;
	gint x;
	gint y;
	gint color;
};

struct _BlockClass {
	GObjectClass parent_class;
};

struct _Shape {
	GObject parent_instance;
	ShapePrivate * priv;
	gint x;
	gint y;
	gint rotation;
	gint type;
	GList* blocks;
};

struct _ShapeClass {
	GObjectClass parent_class;
};

struct _Game {
	GObject parent_instance;
	GamePrivate * priv;
	Shape* shape;
	Shape* next_shape;
	Block** blocks;
	gint blocks_length1;
	gint blocks_length2;
	gint n_lines_destroyed;
	gint score;
	gboolean game_over;
};

struct _GameClass {
	GObjectClass parent_class;
};

struct _GamePrivate {
	gint starting_level;
	gboolean pick_difficult_blocks;
	gboolean fast_forward;
	guint drop_timeout;
	gboolean has_started;
	gboolean _paused;
};


static gpointer block_parent_class = NULL;
static gpointer shape_parent_class = NULL;
static gpointer game_parent_class = NULL;

#define NCOLORS 7
GType block_get_type (void) G_GNUC_CONST;
enum  {
	BLOCK_DUMMY_PROPERTY
};
Block* block_copy (Block* self);
Block* block_new (void);
Block* block_construct (GType object_type);
static void block_finalize (GObject* obj);
GType shape_get_type (void) G_GNUC_CONST;
enum  {
	SHAPE_DUMMY_PROPERTY
};
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
Shape* shape_copy (Shape* self);
Shape* shape_new (void);
Shape* shape_construct (GType object_type);
static void shape_finalize (GObject* obj);
GType game_get_type (void) G_GNUC_CONST;
#define GAME_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_GAME, GamePrivate))
enum  {
	GAME_DUMMY_PROPERTY,
	GAME_WIDTH,
	GAME_HEIGHT,
	GAME_LEVEL,
	GAME_PAUSED,
	GAME_SHADOW_Y
};
Game* game_new (gint lines, gint columns, gint starting_level, gint filled_lines, gint fill_prob, gboolean pick_difficult_blocks);
Game* game_construct (GType object_type, gint lines, gint columns, gint starting_level, gint filled_lines, gint fill_prob, gboolean pick_difficult_blocks);
gint game_get_height (Game* self);
gint game_get_width (Game* self);
static Shape* game_pick_random_shape (Game* self);
Game* game_copy (Game* self);
void game_start (Game* self);
static void game_add_shape (Game* self);
static void game_setup_drop_timer (Game* self);
gboolean game_move_left (Game* self);
static gboolean game_move_shape (Game* self, gint x_step, gint y_step, gint r_step);
gboolean game_move_right (Game* self);
gboolean game_rotate_left (Game* self);
gboolean game_rotate_right (Game* self);
void game_set_fast_forward (Game* self, gboolean enable);
void game_drop (Game* self);
static gboolean game_fall_timeout_cb (Game* self);
void game_stop (Game* self);
gint game_get_level (Game* self);
gboolean game_get_paused (Game* self);
static gboolean _game_fall_timeout_cb_gsource_func (gpointer self);
static void game_land_shape (Game* self);
static Shape* game_pick_difficult_shape (Game* self);
static Shape* game_make_shape (Game* self, gint type, gint rotation);
static void game_rotate_shape (Game* self, gint r_step);
void game_set_paused (Game* self, gboolean value);
gint game_get_shadow_y (Game* self);
static void g_cclosure_user_marshal_VOID__POINTER_INT_POINTER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
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);

const gint block_table[448] = {0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0};

Block* block_copy (Block* self) {
	Block* result = NULL;
	Block* b = NULL;
	Block* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
#line 180 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 182 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = block_new ();
#line 182 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	b = _tmp0_;
#line 183 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = self->x;
#line 183 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	b->x = _tmp1_;
#line 184 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = self->y;
#line 184 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	b->y = _tmp2_;
#line 185 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = self->color;
#line 185 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	b->color = _tmp3_;
#line 186 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = b;
#line 186 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 208 "game.c"
}


Block* block_construct (GType object_type) {
	Block * self = NULL;
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self = (Block*) g_object_new (object_type, NULL);
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return self;
#line 218 "game.c"
}


Block* block_new (void) {
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return block_construct (TYPE_BLOCK);
#line 225 "game.c"
}


static void block_class_init (BlockClass * klass) {
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	block_parent_class = g_type_class_peek_parent (klass);
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (klass)->finalize = block_finalize;
#line 234 "game.c"
}


static void block_instance_init (Block * self) {
}


static void block_finalize (GObject* obj) {
	Block * self;
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BLOCK, Block);
#line 171 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (block_parent_class)->finalize (obj);
#line 248 "game.c"
}


GType block_get_type (void) {
	static volatile gsize block_type_id__volatile = 0;
	if (g_once_init_enter (&block_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BlockClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) block_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Block), 0, (GInstanceInitFunc) block_instance_init, NULL };
		GType block_type_id;
		block_type_id = g_type_register_static (G_TYPE_OBJECT, "Block", &g_define_type_info, 0);
		g_once_init_leave (&block_type_id__volatile, block_type_id);
	}
	return block_type_id__volatile;
}


static void _g_object_unref0_ (gpointer var) {
#line 203 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 267 "game.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 203 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 203 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_list_free (self);
#line 276 "game.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return self ? g_object_ref (self) : NULL;
#line 283 "game.c"
}


Shape* shape_copy (Shape* self) {
	Shape* result = NULL;
	Shape* s = NULL;
	Shape* _tmp0_ = NULL;
	Shape* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	Shape* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	Shape* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	Shape* _tmp7_ = NULL;
	gint _tmp8_ = 0;
	GList* _tmp9_ = NULL;
#line 205 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 207 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = shape_new ();
#line 207 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	s = _tmp0_;
#line 208 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = s;
#line 208 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = self->x;
#line 208 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_->x = _tmp2_;
#line 209 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = s;
#line 209 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp4_ = self->y;
#line 209 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_->y = _tmp4_;
#line 210 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = s;
#line 210 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp6_ = self->rotation;
#line 210 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_->rotation = _tmp6_;
#line 211 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp7_ = s;
#line 211 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp8_ = self->type;
#line 211 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp7_->type = _tmp8_;
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp9_ = self->blocks;
#line 332 "game.c"
	{
		GList* b_collection = NULL;
		GList* b_it = NULL;
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		b_collection = _tmp9_;
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		for (b_it = b_collection; b_it != NULL; b_it = b_it->next) {
#line 340 "game.c"
			Block* _tmp10_ = NULL;
			Block* b = NULL;
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp10_ = _g_object_ref0 ((Block*) b_it->data);
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			b = _tmp10_;
#line 347 "game.c"
			{
				Shape* _tmp11_ = NULL;
				Block* _tmp12_ = NULL;
				Block* _tmp13_ = NULL;
#line 213 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = s;
#line 213 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp12_ = b;
#line 213 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13_ = block_copy (_tmp12_);
#line 213 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_->blocks = g_list_append (_tmp11_->blocks, _tmp13_);
#line 212 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_g_object_unref0 (b);
#line 362 "game.c"
			}
		}
	}
#line 214 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = s;
#line 214 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 370 "game.c"
}


Shape* shape_construct (GType object_type) {
	Shape * self = NULL;
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self = (Shape*) g_object_new (object_type, NULL);
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return self;
#line 380 "game.c"
}


Shape* shape_new (void) {
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return shape_construct (TYPE_SHAPE);
#line 387 "game.c"
}


static void shape_class_init (ShapeClass * klass) {
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	shape_parent_class = g_type_class_peek_parent (klass);
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (klass)->finalize = shape_finalize;
#line 396 "game.c"
}


static void shape_instance_init (Shape * self) {
#line 203 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->blocks = NULL;
#line 403 "game.c"
}


static void shape_finalize (GObject* obj) {
	Shape * self;
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHAPE, Shape);
#line 203 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	__g_list_free__g_object_unref0_0 (self->blocks);
#line 190 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (shape_parent_class)->finalize (obj);
#line 415 "game.c"
}


GType shape_get_type (void) {
	static volatile gsize shape_type_id__volatile = 0;
	if (g_once_init_enter (&shape_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ShapeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shape_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Shape), 0, (GInstanceInitFunc) shape_instance_init, NULL };
		GType shape_type_id;
		shape_type_id = g_type_register_static (G_TYPE_OBJECT, "Shape", &g_define_type_info, 0);
		g_once_init_leave (&shape_type_id__volatile, shape_type_id);
	}
	return shape_type_id__volatile;
}


Game* game_construct (GType object_type, gint lines, gint columns, gint starting_level, gint filled_lines, gint fill_prob, gboolean pick_difficult_blocks) {
	Game * self = NULL;
	gint _tmp0_ = 0;
	gboolean _tmp1_ = FALSE;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	Block** _tmp4_ = NULL;
	gboolean _tmp52_ = FALSE;
#line 298 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self = (Game*) g_object_new (object_type, NULL);
#line 300 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = starting_level;
#line 300 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->starting_level = _tmp0_;
#line 301 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = pick_difficult_blocks;
#line 301 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->pick_difficult_blocks = _tmp1_;
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = columns;
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = lines;
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp4_ = g_new0 (Block*, (_tmp2_ * _tmp3_) + 1);
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->blocks = (_vala_array_free (self->blocks, self->blocks_length1 * self->blocks_length2, (GDestroyNotify) g_object_unref), NULL);
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->blocks = _tmp4_;
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->blocks_length1 = _tmp2_;
#line 303 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->blocks_length2 = _tmp3_;
#line 463 "game.c"
	{
		gint y = 0;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		y = 0;
#line 468 "game.c"
		{
			gboolean _tmp5_ = FALSE;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp5_ = TRUE;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 475 "game.c"
				gint _tmp7_ = 0;
				gint _tmp8_ = 0;
				gint _tmp9_ = 0;
				gint32 blank = 0;
				gint _tmp10_ = 0;
				gint _tmp11_ = 0;
				gint32 _tmp12_ = 0;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp5_) {
#line 485 "game.c"
					gint _tmp6_ = 0;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp6_ = y;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					y = _tmp6_ + 1;
#line 491 "game.c"
				}
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp5_ = FALSE;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp7_ = y;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp8_ = game_get_height (self);
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_ = _tmp8_;
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp7_ < _tmp9_)) {
#line 305 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 505 "game.c"
				}
#line 308 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp10_ = game_get_width (self);
#line 308 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = _tmp10_;
#line 308 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp12_ = g_random_int_range ((gint32) 0, (gint32) _tmp11_);
#line 308 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				blank = _tmp12_;
#line 515 "game.c"
				{
					gint x = 0;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					x = 0;
#line 520 "game.c"
					{
						gboolean _tmp13_ = FALSE;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp13_ = TRUE;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 527 "game.c"
							gint _tmp15_ = 0;
							gint _tmp16_ = 0;
							gint _tmp17_ = 0;
							gboolean _tmp18_ = FALSE;
							gboolean _tmp19_ = FALSE;
							gint _tmp20_ = 0;
							gint _tmp21_ = 0;
							gint _tmp22_ = 0;
							gint _tmp23_ = 0;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp13_) {
#line 539 "game.c"
								gint _tmp14_ = 0;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp14_ = x;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								x = _tmp14_ + 1;
#line 545 "game.c"
							}
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp13_ = FALSE;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp15_ = x;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp16_ = game_get_width (self);
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp17_ = _tmp16_;
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp15_ < _tmp17_)) {
#line 310 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 559 "game.c"
							}
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp20_ = y;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp21_ = game_get_height (self);
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp22_ = _tmp21_;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp23_ = filled_lines;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp20_ >= (_tmp22_ - _tmp23_)) {
#line 571 "game.c"
								gint _tmp24_ = 0;
								gint32 _tmp25_ = 0;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp24_ = x;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp25_ = blank;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp19_ = _tmp24_ != ((gint) _tmp25_);
#line 580 "game.c"
							} else {
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp19_ = FALSE;
#line 584 "game.c"
							}
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp19_) {
#line 588 "game.c"
								gint32 _tmp26_ = 0;
								gint _tmp27_ = 0;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp26_ = g_random_int_range ((gint32) 0, (gint32) 10);
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp27_ = fill_prob;
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp18_ = _tmp26_ < ((gint32) _tmp27_);
#line 597 "game.c"
							} else {
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp18_ = FALSE;
#line 601 "game.c"
							}
#line 312 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp18_) {
#line 605 "game.c"
								Block** _tmp28_ = NULL;
								gint _tmp28__length1 = 0;
								gint _tmp28__length2 = 0;
								gint _tmp29_ = 0;
								gint _tmp30_ = 0;
								Block* _tmp31_ = NULL;
								Block* _tmp32_ = NULL;
								Block** _tmp33_ = NULL;
								gint _tmp33__length1 = 0;
								gint _tmp33__length2 = 0;
								gint _tmp34_ = 0;
								gint _tmp35_ = 0;
								Block* _tmp36_ = NULL;
								gint _tmp37_ = 0;
								Block** _tmp38_ = NULL;
								gint _tmp38__length1 = 0;
								gint _tmp38__length2 = 0;
								gint _tmp39_ = 0;
								gint _tmp40_ = 0;
								Block* _tmp41_ = NULL;
								gint _tmp42_ = 0;
								Block** _tmp43_ = NULL;
								gint _tmp43__length1 = 0;
								gint _tmp43__length2 = 0;
								gint _tmp44_ = 0;
								gint _tmp45_ = 0;
								Block* _tmp46_ = NULL;
								gint32 _tmp47_ = 0;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28_ = self->blocks;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28__length1 = self->blocks_length1;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28__length2 = self->blocks_length2;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp29_ = x;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp30_ = y;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp31_ = block_new ();
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_g_object_unref0 (_tmp28_[(_tmp29_ * _tmp28__length2) + _tmp30_]);
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28_[(_tmp29_ * _tmp28__length2) + _tmp30_] = _tmp31_;
#line 314 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp32_ = _tmp28_[(_tmp29_ * _tmp28__length2) + _tmp30_];
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp33_ = self->blocks;
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp33__length1 = self->blocks_length1;
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp33__length2 = self->blocks_length2;
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp34_ = x;
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp35_ = y;
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp36_ = _tmp33_[(_tmp34_ * _tmp33__length2) + _tmp35_];
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp37_ = x;
#line 315 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp36_->x = _tmp37_;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp38_ = self->blocks;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp38__length1 = self->blocks_length1;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp38__length2 = self->blocks_length2;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp39_ = x;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp40_ = y;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp41_ = _tmp38_[(_tmp39_ * _tmp38__length2) + _tmp40_];
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp42_ = y;
#line 316 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp41_->y = _tmp42_;
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp43_ = self->blocks;
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp43__length1 = self->blocks_length1;
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp43__length2 = self->blocks_length2;
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp44_ = x;
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp45_ = y;
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp46_ = _tmp43_[(_tmp44_ * _tmp43__length2) + _tmp45_];
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp47_ = g_random_int_range ((gint32) 0, (gint32) NCOLORS);
#line 317 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp46_->color = (gint) _tmp47_;
#line 700 "game.c"
							} else {
								Block** _tmp48_ = NULL;
								gint _tmp48__length1 = 0;
								gint _tmp48__length2 = 0;
								gint _tmp49_ = 0;
								gint _tmp50_ = 0;
								Block* _tmp51_ = NULL;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp48_ = self->blocks;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp48__length1 = self->blocks_length1;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp48__length2 = self->blocks_length2;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp49_ = x;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp50_ = y;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_g_object_unref0 (_tmp48_[(_tmp49_ * _tmp48__length2) + _tmp50_]);
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp48_[(_tmp49_ * _tmp48__length2) + _tmp50_] = NULL;
#line 320 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp51_ = _tmp48_[(_tmp49_ * _tmp48__length2) + _tmp50_];
#line 724 "game.c"
							}
						}
					}
				}
			}
		}
	}
#line 324 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp52_ = pick_difficult_blocks;
#line 324 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (!_tmp52_) {
#line 736 "game.c"
		Shape* _tmp53_ = NULL;
#line 325 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp53_ = game_pick_random_shape (self);
#line 325 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_g_object_unref0 (self->next_shape);
#line 325 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->next_shape = _tmp53_;
#line 744 "game.c"
	}
#line 298 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return self;
#line 748 "game.c"
}


Game* game_new (gint lines, gint columns, gint starting_level, gint filled_lines, gint fill_prob, gboolean pick_difficult_blocks) {
#line 298 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return game_construct (TYPE_GAME, lines, columns, starting_level, filled_lines, fill_prob, pick_difficult_blocks);
#line 755 "game.c"
}


Game* game_copy (Game* self) {
	Game* result = NULL;
	Game* g = NULL;
	Game* _tmp0_ = NULL;
	Shape* _tmp1_ = NULL;
	Shape* _tmp5_ = NULL;
	Game* _tmp33_ = NULL;
	gint _tmp34_ = 0;
	Game* _tmp35_ = NULL;
	gint _tmp36_ = 0;
	Game* _tmp37_ = NULL;
	gint _tmp38_ = 0;
	Game* _tmp39_ = NULL;
	gboolean _tmp40_ = FALSE;
	Game* _tmp41_ = NULL;
	gboolean _tmp42_ = FALSE;
	Game* _tmp43_ = NULL;
	gboolean _tmp44_ = FALSE;
	Game* _tmp45_ = NULL;
	gboolean _tmp46_ = FALSE;
	Game* _tmp47_ = NULL;
	gboolean _tmp48_ = FALSE;
#line 328 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 330 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_new (20, 14, 1, 0, 5, FALSE);
#line 330 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g = _tmp0_;
#line 331 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = self->shape;
#line 331 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp1_ != NULL) {
#line 791 "game.c"
		Game* _tmp2_ = NULL;
		Shape* _tmp3_ = NULL;
		Shape* _tmp4_ = NULL;
#line 332 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp2_ = g;
#line 332 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp3_ = self->shape;
#line 332 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp4_ = shape_copy (_tmp3_);
#line 332 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_g_object_unref0 (_tmp2_->shape);
#line 332 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp2_->shape = _tmp4_;
#line 805 "game.c"
	}
#line 333 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = self->next_shape;
#line 333 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp5_ != NULL) {
#line 811 "game.c"
		Game* _tmp6_ = NULL;
		Shape* _tmp7_ = NULL;
		Shape* _tmp8_ = NULL;
#line 334 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp6_ = g;
#line 334 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp7_ = self->next_shape;
#line 334 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp8_ = shape_copy (_tmp7_);
#line 334 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_g_object_unref0 (_tmp6_->next_shape);
#line 334 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp6_->next_shape = _tmp8_;
#line 825 "game.c"
	}
	{
		gint x = 0;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		x = 0;
#line 831 "game.c"
		{
			gboolean _tmp9_ = FALSE;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp9_ = TRUE;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 838 "game.c"
				gint _tmp11_ = 0;
				gint _tmp12_ = 0;
				gint _tmp13_ = 0;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp9_) {
#line 844 "game.c"
					gint _tmp10_ = 0;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp10_ = x;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					x = _tmp10_ + 1;
#line 850 "game.c"
				}
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_ = FALSE;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = x;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp12_ = game_get_width (self);
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13_ = _tmp12_;
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp11_ < _tmp13_)) {
#line 335 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 864 "game.c"
				}
				{
					gint y = 0;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					y = 0;
#line 870 "game.c"
					{
						gboolean _tmp14_ = FALSE;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp14_ = TRUE;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 877 "game.c"
							gint _tmp16_ = 0;
							gint _tmp17_ = 0;
							gint _tmp18_ = 0;
							Block** _tmp19_ = NULL;
							gint _tmp19__length1 = 0;
							gint _tmp19__length2 = 0;
							gint _tmp20_ = 0;
							gint _tmp21_ = 0;
							Block* _tmp22_ = NULL;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp14_) {
#line 889 "game.c"
								gint _tmp15_ = 0;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp15_ = y;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								y = _tmp15_ + 1;
#line 895 "game.c"
							}
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp14_ = FALSE;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp16_ = y;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp17_ = game_get_height (self);
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp18_ = _tmp17_;
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp16_ < _tmp18_)) {
#line 337 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 909 "game.c"
							}
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp19_ = self->blocks;
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp19__length1 = self->blocks_length1;
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp19__length2 = self->blocks_length2;
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp20_ = x;
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp21_ = y;
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp22_ = _tmp19_[(_tmp20_ * _tmp19__length2) + _tmp21_];
#line 339 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp22_ != NULL) {
#line 925 "game.c"
								Game* _tmp23_ = NULL;
								Block** _tmp24_ = NULL;
								gint _tmp24__length1 = 0;
								gint _tmp24__length2 = 0;
								gint _tmp25_ = 0;
								gint _tmp26_ = 0;
								Block** _tmp27_ = NULL;
								gint _tmp27__length1 = 0;
								gint _tmp27__length2 = 0;
								gint _tmp28_ = 0;
								gint _tmp29_ = 0;
								Block* _tmp30_ = NULL;
								Block* _tmp31_ = NULL;
								Block* _tmp32_ = NULL;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp23_ = g;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp24_ = _tmp23_->blocks;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp24__length1 = _tmp23_->blocks_length1;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp24__length2 = _tmp23_->blocks_length2;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp25_ = x;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp26_ = y;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp27_ = self->blocks;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp27__length1 = self->blocks_length1;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp27__length2 = self->blocks_length2;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28_ = x;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp29_ = y;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp30_ = _tmp27_[(_tmp28_ * _tmp27__length2) + _tmp29_];
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp31_ = block_copy (_tmp30_);
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_g_object_unref0 (_tmp24_[(_tmp25_ * _tmp24__length2) + _tmp26_]);
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp24_[(_tmp25_ * _tmp24__length2) + _tmp26_] = _tmp31_;
#line 340 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp32_ = _tmp24_[(_tmp25_ * _tmp24__length2) + _tmp26_];
#line 972 "game.c"
							}
						}
					}
				}
			}
		}
	}
#line 343 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp33_ = g;
#line 343 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp34_ = self->n_lines_destroyed;
#line 343 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp33_->n_lines_destroyed = _tmp34_;
#line 344 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp35_ = g;
#line 344 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp36_ = self->score;
#line 344 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp35_->score = _tmp36_;
#line 345 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp37_ = g;
#line 345 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp38_ = self->priv->starting_level;
#line 345 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp37_->priv->starting_level = _tmp38_;
#line 346 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp39_ = g;
#line 346 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp40_ = self->priv->pick_difficult_blocks;
#line 346 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp39_->priv->pick_difficult_blocks = _tmp40_;
#line 347 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp41_ = g;
#line 347 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp42_ = self->priv->fast_forward;
#line 347 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp41_->priv->fast_forward = _tmp42_;
#line 348 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp43_ = g;
#line 348 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp44_ = self->priv->has_started;
#line 348 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp43_->priv->has_started = _tmp44_;
#line 349 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp45_ = g;
#line 349 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp46_ = self->priv->_paused;
#line 349 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp45_->priv->_paused = _tmp46_;
#line 350 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp47_ = g;
#line 350 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp48_ = self->game_over;
#line 350 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp47_->game_over = _tmp48_;
#line 352 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = g;
#line 352 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1032 "game.c"
}


void game_start (Game* self) {
#line 355 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 357 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->has_started = TRUE;
#line 358 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	game_add_shape (self);
#line 359 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	game_setup_drop_timer (self);
#line 360 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_emit_by_name (self, "started");
#line 361 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_emit_by_name (self, "pause-changed");
#line 1049 "game.c"
}


gboolean game_move_left (Game* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 364 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 366 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_move_shape (self, -1, 0, 0);
#line 366 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp0_;
#line 366 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1064 "game.c"
}


gboolean game_move_right (Game* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 369 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 371 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_move_shape (self, 1, 0, 0);
#line 371 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp0_;
#line 371 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1079 "game.c"
}


gboolean game_rotate_left (Game* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 374 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 376 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_move_shape (self, 0, 0, -1);
#line 376 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp0_;
#line 376 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1094 "game.c"
}


gboolean game_rotate_right (Game* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 379 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 381 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_move_shape (self, 0, 0, 1);
#line 381 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp0_;
#line 381 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1109 "game.c"
}


void game_set_fast_forward (Game* self, gboolean enable) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp6_ = FALSE;
#line 384 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = self->priv->fast_forward;
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = enable;
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp1_ == _tmp2_) {
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp0_ = TRUE;
#line 1129 "game.c"
	} else {
		gboolean _tmp3_ = FALSE;
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp3_ = self->game_over;
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp0_ = _tmp3_;
#line 1136 "game.c"
	}
#line 386 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp0_) {
#line 387 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		return;
#line 1142 "game.c"
	}
#line 388 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp4_ = enable;
#line 388 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp4_) {
#line 1148 "game.c"
		gboolean _tmp5_ = FALSE;
#line 389 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp5_ = game_move_shape (self, 0, 1, 0);
#line 389 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		if (!_tmp5_) {
#line 390 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			return;
#line 1156 "game.c"
		}
	}
#line 391 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp6_ = enable;
#line 391 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->fast_forward = _tmp6_;
#line 392 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	game_setup_drop_timer (self);
#line 1165 "game.c"
}


void game_drop (Game* self) {
	Shape* _tmp0_ = NULL;
#line 395 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 397 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->shape;
#line 397 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp0_ == NULL) {
#line 398 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		return;
#line 1179 "game.c"
	}
#line 400 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	while (TRUE) {
#line 1183 "game.c"
		gboolean _tmp1_ = FALSE;
#line 400 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp1_ = game_move_shape (self, 0, 1, 0);
#line 400 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		if (!_tmp1_) {
#line 400 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 1191 "game.c"
		}
	}
#line 401 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	game_fall_timeout_cb (self);
#line 1196 "game.c"
}


void game_stop (Game* self) {
	guint _tmp0_ = 0U;
#line 404 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 406 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->priv->drop_timeout;
#line 406 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp0_ != ((guint) 0)) {
#line 1208 "game.c"
		guint _tmp1_ = 0U;
#line 407 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp1_ = self->priv->drop_timeout;
#line 407 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_source_remove (_tmp1_);
#line 1214 "game.c"
	}
}


static gboolean _game_fall_timeout_cb_gsource_func (gpointer self) {
	gboolean result;
	result = game_fall_timeout_cb ((Game*) self);
#line 423 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1224 "game.c"
}


static void game_setup_drop_timer (Game* self) {
	gint timestep = 0;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gdouble _tmp2_ = 0.0;
	gdouble _tmp3_ = 0.0;
	gint _tmp4_ = 0;
	gint _tmp5_ = 0;
	gboolean _tmp6_ = FALSE;
	guint _tmp7_ = 0U;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
#line 410 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 412 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_get_level (self);
#line 412 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = _tmp0_;
#line 412 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = pow (0.75, (gdouble) (_tmp1_ - 1));
#line 412 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = round (80 + (800.0 * _tmp2_));
#line 412 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	timestep = (gint) _tmp3_;
#line 413 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp4_ = timestep;
#line 413 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = MAX (10, _tmp4_);
#line 413 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	timestep = _tmp5_;
#line 416 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp6_ = self->priv->fast_forward;
#line 416 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp6_) {
#line 417 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		timestep = 80;
#line 1264 "game.c"
	}
#line 419 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp7_ = self->priv->drop_timeout;
#line 419 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp7_ != ((guint) 0)) {
#line 1270 "game.c"
		guint _tmp8_ = 0U;
#line 420 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp8_ = self->priv->drop_timeout;
#line 420 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_source_remove (_tmp8_);
#line 1276 "game.c"
	}
#line 421 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->drop_timeout = (guint) 0;
#line 422 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp9_ = game_get_paused (self);
#line 422 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp10_ = _tmp9_;
#line 422 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (!_tmp10_) {
#line 1286 "game.c"
		gint _tmp11_ = 0;
		guint _tmp12_ = 0U;
#line 423 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp11_ = timestep;
#line 423 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp12_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp11_, _game_fall_timeout_cb_gsource_func, g_object_ref (self), g_object_unref);
#line 423 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->priv->drop_timeout = _tmp12_;
#line 1295 "game.c"
	}
}


static gboolean game_fall_timeout_cb (Game* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 426 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 429 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = game_move_shape (self, 0, 1, 0);
#line 429 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (!_tmp0_) {
#line 432 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		game_land_shape (self);
#line 435 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		game_add_shape (self);
#line 1313 "game.c"
	}
#line 438 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = TRUE;
#line 438 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1319 "game.c"
}


static void game_add_shape (Game* self) {
	gboolean _tmp0_ = FALSE;
	Shape* _tmp4_ = NULL;
	GList* _tmp5_ = NULL;
#line 441 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 443 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->priv->pick_difficult_blocks;
#line 443 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp0_) {
#line 1333 "game.c"
		Shape* _tmp1_ = NULL;
#line 444 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp1_ = game_pick_difficult_shape (self);
#line 444 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_g_object_unref0 (self->shape);
#line 444 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->shape = _tmp1_;
#line 1341 "game.c"
	} else {
		Shape* _tmp2_ = NULL;
		Shape* _tmp3_ = NULL;
#line 447 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp2_ = self->next_shape;
#line 447 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->next_shape = NULL;
#line 447 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_g_object_unref0 (self->shape);
#line 447 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->shape = _tmp2_;
#line 448 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp3_ = game_pick_random_shape (self);
#line 448 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_g_object_unref0 (self->next_shape);
#line 448 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->next_shape = _tmp3_;
#line 1359 "game.c"
	}
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp4_ = self->shape;
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = _tmp4_->blocks;
#line 1365 "game.c"
	{
		GList* b_collection = NULL;
		GList* b_it = NULL;
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		b_collection = _tmp5_;
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		for (b_it = b_collection; b_it != NULL; b_it = b_it->next) {
#line 1373 "game.c"
			Block* _tmp6_ = NULL;
			Block* b = NULL;
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp6_ = _g_object_ref0 ((Block*) b_it->data);
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			b = _tmp6_;
#line 1380 "game.c"
			{
				gint x = 0;
				Shape* _tmp7_ = NULL;
				gint _tmp8_ = 0;
				Block* _tmp9_ = NULL;
				gint _tmp10_ = 0;
				gint y = 0;
				Shape* _tmp11_ = NULL;
				gint _tmp12_ = 0;
				Block* _tmp13_ = NULL;
				gint _tmp14_ = 0;
				gboolean _tmp15_ = FALSE;
				gint _tmp16_ = 0;
#line 453 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp7_ = self->shape;
#line 453 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp8_ = _tmp7_->x;
#line 453 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_ = b;
#line 453 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp10_ = _tmp9_->x;
#line 453 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				x = _tmp8_ + _tmp10_;
#line 454 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = self->shape;
#line 454 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp12_ = _tmp11_->y;
#line 454 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13_ = b;
#line 454 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp14_ = _tmp13_->y;
#line 454 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				y = _tmp12_ + _tmp14_;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp16_ = y;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp16_ >= 0) {
#line 1418 "game.c"
					Block** _tmp17_ = NULL;
					gint _tmp17__length1 = 0;
					gint _tmp17__length2 = 0;
					gint _tmp18_ = 0;
					gint _tmp19_ = 0;
					Block* _tmp20_ = NULL;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp17_ = self->blocks;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp17__length1 = self->blocks_length1;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp17__length2 = self->blocks_length2;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp18_ = x;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp19_ = y;
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp20_ = _tmp17_[(_tmp18_ * _tmp17__length2) + _tmp19_];
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp15_ = _tmp20_ != NULL;
#line 1439 "game.c"
				} else {
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp15_ = FALSE;
#line 1443 "game.c"
				}
#line 457 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp15_) {
#line 1447 "game.c"
					guint _tmp21_ = 0U;
#line 461 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp21_ = self->priv->drop_timeout;
#line 461 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					if (_tmp21_ != ((guint) 0)) {
#line 1453 "game.c"
						guint _tmp22_ = 0U;
#line 462 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp22_ = self->priv->drop_timeout;
#line 462 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						g_source_remove (_tmp22_);
#line 1459 "game.c"
					}
#line 463 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					self->priv->drop_timeout = (guint) 0;
#line 464 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_g_object_unref0 (self->shape);
#line 464 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					self->shape = NULL;
#line 465 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					self->game_over = TRUE;
#line 466 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					g_signal_emit_by_name (self, "complete");
#line 467 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_g_object_unref0 (b);
#line 467 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					return;
#line 1475 "game.c"
				}
#line 451 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_g_object_unref0 (b);
#line 1479 "game.c"
			}
		}
	}
#line 471 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_emit_by_name (self, "shape-added");
#line 1485 "game.c"
}


static Shape* game_pick_random_shape (Game* self) {
	Shape* result = NULL;
	gint32 _tmp0_ = 0;
	gint32 _tmp1_ = 0;
	Shape* _tmp2_ = NULL;
#line 474 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 476 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = g_random_int_range ((gint32) 0, (gint32) NCOLORS);
#line 476 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = g_random_int_range ((gint32) 0, (gint32) 4);
#line 476 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = game_make_shape (self, (gint) _tmp0_, (gint) _tmp1_);
#line 476 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp2_;
#line 476 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 1506 "game.c"
}


static Shape* game_pick_difficult_shape (Game* self) {
	Shape* result = NULL;
	gint* metrics = NULL;
	gint* _tmp0_ = NULL;
	gint metrics_length1 = 0;
	gint _metrics_size_ = 0;
	gint* possible_types = NULL;
	gint* _tmp71_ = NULL;
	gint possible_types_length1 = 0;
	gint _possible_types_size_ = 0;
	gint32 rnd = 0;
	gint32 _tmp108_ = 0;
	gint32 _tmp109_ = 0;
#line 479 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 481 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = g_new0 (gint, NCOLORS);
#line 481 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	metrics = _tmp0_;
#line 481 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	metrics_length1 = NCOLORS;
#line 481 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_metrics_size_ = metrics_length1;
#line 1533 "game.c"
	{
		gint type = 0;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		type = 0;
#line 1538 "game.c"
		{
			gboolean _tmp1_ = FALSE;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp1_ = TRUE;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 1545 "game.c"
				gint _tmp3_ = 0;
				gint* _tmp4_ = NULL;
				gint _tmp4__length1 = 0;
				gint _tmp5_ = 0;
				gint _tmp6_ = 0;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp1_) {
#line 1553 "game.c"
					gint _tmp2_ = 0;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp2_ = type;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					type = _tmp2_ + 1;
#line 1559 "game.c"
				}
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp1_ = FALSE;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp3_ = type;
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp3_ < NCOLORS)) {
#line 482 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 1569 "game.c"
				}
#line 484 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp4_ = metrics;
#line 484 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp4__length1 = metrics_length1;
#line 484 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp5_ = type;
#line 484 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp4_[_tmp5_] = -32000;
#line 484 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp6_ = _tmp4_[_tmp5_];
#line 1581 "game.c"
				{
					gint rotation = 0;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					rotation = 0;
#line 1586 "game.c"
					{
						gboolean _tmp7_ = FALSE;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp7_ = TRUE;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 1593 "game.c"
							gint _tmp9_ = 0;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp7_) {
#line 1597 "game.c"
								gint _tmp8_ = 0;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp8_ = rotation;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								rotation = _tmp8_ + 1;
#line 1603 "game.c"
							}
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp7_ = FALSE;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp9_ = rotation;
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp9_ < 4)) {
#line 485 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 1613 "game.c"
							}
							{
								gint pos = 0;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								pos = 0;
#line 1619 "game.c"
								{
									gboolean _tmp10_ = FALSE;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp10_ = TRUE;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									while (TRUE) {
#line 1626 "game.c"
										gint _tmp12_ = 0;
										gint _tmp13_ = 0;
										gint _tmp14_ = 0;
										Game* g = NULL;
										Game* _tmp15_ = NULL;
										Game* _tmp16_ = NULL;
										Game* _tmp17_ = NULL;
										gint _tmp18_ = 0;
										gint _tmp19_ = 0;
										Shape* _tmp20_ = NULL;
										gboolean valid_position = FALSE;
										gboolean _tmp29_ = FALSE;
										gint orig_lines = 0;
										Game* _tmp30_ = NULL;
										gint _tmp31_ = 0;
										Game* _tmp32_ = NULL;
										gint metric = 0;
										Game* _tmp33_ = NULL;
										gint _tmp34_ = 0;
										gint _tmp35_ = 0;
										gint _tmp55_ = 0;
										gint* _tmp56_ = NULL;
										gint _tmp56__length1 = 0;
										gint _tmp57_ = 0;
										gint _tmp58_ = 0;
										Game* _tmp63_ = NULL;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										if (!_tmp10_) {
#line 1655 "game.c"
											gint _tmp11_ = 0;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp11_ = pos;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											pos = _tmp11_ + 1;
#line 1661 "game.c"
										}
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp10_ = FALSE;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp12_ = pos;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp13_ = game_get_width (self);
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp14_ = _tmp13_;
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										if (!(_tmp12_ < _tmp14_)) {
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											break;
#line 1675 "game.c"
										}
#line 490 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp15_ = game_copy (self);
#line 490 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										g = _tmp15_;
#line 491 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp16_ = g;
#line 491 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp16_->priv->pick_difficult_blocks = FALSE;
#line 492 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp17_ = g;
#line 492 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp18_ = type;
#line 492 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp19_ = rotation;
#line 492 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp20_ = game_make_shape (self, _tmp18_, _tmp19_);
#line 492 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_g_object_unref0 (_tmp17_->shape);
#line 492 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp17_->shape = _tmp20_;
#line 495 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										valid_position = TRUE;
#line 496 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										while (TRUE) {
#line 1701 "game.c"
											Game* _tmp21_ = NULL;
											gboolean _tmp22_ = FALSE;
#line 496 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp21_ = g;
#line 496 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp22_ = game_move_left (_tmp21_);
#line 496 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											if (!_tmp22_) {
#line 496 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
												break;
#line 1712 "game.c"
											}
										}
										{
											gint x = 0;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											x = 0;
#line 1719 "game.c"
											{
												gboolean _tmp23_ = FALSE;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
												_tmp23_ = TRUE;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
												while (TRUE) {
#line 1726 "game.c"
													gint _tmp25_ = 0;
													gint _tmp26_ = 0;
													Game* _tmp27_ = NULL;
													gboolean _tmp28_ = FALSE;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													if (!_tmp23_) {
#line 1733 "game.c"
														gint _tmp24_ = 0;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														_tmp24_ = x;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														x = _tmp24_ + 1;
#line 1739 "game.c"
													}
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp23_ = FALSE;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp25_ = x;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp26_ = pos;
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													if (!(_tmp25_ < _tmp26_)) {
#line 497 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														break;
#line 1751 "game.c"
													}
#line 499 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp27_ = g;
#line 499 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp28_ = game_move_right (_tmp27_);
#line 499 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													if (!_tmp28_) {
#line 501 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														valid_position = FALSE;
#line 502 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														break;
#line 1763 "game.c"
													}
												}
											}
										}
#line 506 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp29_ = valid_position;
#line 506 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										if (!_tmp29_) {
#line 507 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_g_object_unref0 (g);
#line 507 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											break;
#line 1776 "game.c"
										}
#line 510 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp30_ = g;
#line 510 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp31_ = _tmp30_->n_lines_destroyed;
#line 510 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										orig_lines = _tmp31_;
#line 511 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp32_ = g;
#line 511 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										game_drop (_tmp32_);
#line 514 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp33_ = g;
#line 514 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp34_ = _tmp33_->n_lines_destroyed;
#line 514 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp35_ = orig_lines;
#line 514 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										metric = (_tmp34_ - _tmp35_) * 5000;
#line 1796 "game.c"
										{
											gint x = 0;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											x = 0;
#line 1801 "game.c"
											{
												gboolean _tmp36_ = FALSE;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
												_tmp36_ = TRUE;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
												while (TRUE) {
#line 1808 "game.c"
													gint _tmp38_ = 0;
													gint _tmp39_ = 0;
													gint _tmp40_ = 0;
													gint y = 0;
													gint _tmp51_ = 0;
													gint _tmp52_ = 0;
													gint _tmp53_ = 0;
													gint _tmp54_ = 0;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													if (!_tmp36_) {
#line 1819 "game.c"
														gint _tmp37_ = 0;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														_tmp37_ = x;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														x = _tmp37_ + 1;
#line 1825 "game.c"
													}
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp36_ = FALSE;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp38_ = x;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp39_ = game_get_width (self);
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp40_ = _tmp39_;
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													if (!(_tmp38_ < _tmp40_)) {
#line 517 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														break;
#line 1839 "game.c"
													}
													{
														gboolean _tmp41_ = FALSE;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														y = 0;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														_tmp41_ = TRUE;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
														while (TRUE) {
#line 1849 "game.c"
															gint _tmp43_ = 0;
															gint _tmp44_ = 0;
															gint _tmp45_ = 0;
															Game* _tmp46_ = NULL;
															Block** _tmp47_ = NULL;
															gint _tmp47__length1 = 0;
															gint _tmp47__length2 = 0;
															gint _tmp48_ = 0;
															gint _tmp49_ = 0;
															Block* _tmp50_ = NULL;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															if (!_tmp41_) {
#line 1862 "game.c"
																gint _tmp42_ = 0;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
																_tmp42_ = y;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
																y = _tmp42_ + 1;
#line 1868 "game.c"
															}
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp41_ = FALSE;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp43_ = y;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp44_ = game_get_height (self);
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp45_ = _tmp44_;
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															if (!(_tmp43_ < _tmp45_)) {
#line 520 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
																break;
#line 1882 "game.c"
															}
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp46_ = g;
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp47_ = _tmp46_->blocks;
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp47__length1 = _tmp46_->blocks_length1;
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp47__length2 = _tmp46_->blocks_length2;
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp48_ = x;
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp49_ = y;
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															_tmp50_ = _tmp47_[(_tmp48_ * _tmp47__length2) + _tmp49_];
#line 522 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
															if (_tmp50_ != NULL) {
#line 523 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
																break;
#line 1902 "game.c"
															}
														}
													}
#line 526 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp51_ = metric;
#line 526 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp52_ = game_get_height (self);
#line 526 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp53_ = _tmp52_;
#line 526 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													_tmp54_ = y;
#line 526 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
													metric = _tmp51_ - (5 * (_tmp53_ - _tmp54_));
#line 1916 "game.c"
												}
											}
										}
#line 529 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp55_ = metric;
#line 529 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp56_ = metrics;
#line 529 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp56__length1 = metrics_length1;
#line 529 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp57_ = type;
#line 529 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp58_ = _tmp56_[_tmp57_];
#line 529 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										if (_tmp55_ > _tmp58_) {
#line 1932 "game.c"
											gint* _tmp59_ = NULL;
											gint _tmp59__length1 = 0;
											gint _tmp60_ = 0;
											gint _tmp61_ = 0;
											gint _tmp62_ = 0;
#line 530 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp59_ = metrics;
#line 530 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp59__length1 = metrics_length1;
#line 530 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp60_ = type;
#line 530 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp61_ = metric;
#line 530 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp59_[_tmp60_] = _tmp61_;
#line 530 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
											_tmp62_ = _tmp59_[_tmp60_];
#line 1950 "game.c"
										}
#line 533 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp63_ = g;
#line 533 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										game_stop (_tmp63_);
#line 487 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_g_object_unref0 (g);
#line 1958 "game.c"
									}
								}
							}
						}
					}
				}
			}
		}
	}
	{
		gint i = 0;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		i = 0;
#line 1972 "game.c"
		{
			gboolean _tmp64_ = FALSE;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp64_ = TRUE;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 1979 "game.c"
				gint _tmp66_ = 0;
				gint* _tmp67_ = NULL;
				gint _tmp67__length1 = 0;
				gint _tmp68_ = 0;
				gint32 _tmp69_ = 0;
				gint _tmp70_ = 0;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp64_) {
#line 1988 "game.c"
					gint _tmp65_ = 0;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp65_ = i;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					i = _tmp65_ + 1;
#line 1994 "game.c"
				}
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp64_ = FALSE;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp66_ = i;
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp66_ < NCOLORS)) {
#line 539 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 2004 "game.c"
				}
#line 540 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp67_ = metrics;
#line 540 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp67__length1 = metrics_length1;
#line 540 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp68_ = i;
#line 540 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp69_ = g_random_int_range ((gint32) -2, (gint32) 2);
#line 540 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp67_[_tmp68_] += (gint) _tmp69_;
#line 540 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp70_ = _tmp67_[_tmp68_];
#line 2018 "game.c"
			}
		}
	}
#line 543 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp71_ = g_new0 (gint, NCOLORS);
#line 543 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	possible_types = _tmp71_;
#line 543 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	possible_types_length1 = NCOLORS;
#line 543 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_possible_types_size_ = possible_types_length1;
#line 2030 "game.c"
	{
		gint i = 0;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		i = 0;
#line 2035 "game.c"
		{
			gboolean _tmp72_ = FALSE;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp72_ = TRUE;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 2042 "game.c"
				gint _tmp74_ = 0;
				gint* _tmp75_ = NULL;
				gint _tmp75__length1 = 0;
				gint _tmp76_ = 0;
				gint _tmp77_ = 0;
				gint _tmp78_ = 0;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp72_) {
#line 2051 "game.c"
					gint _tmp73_ = 0;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp73_ = i;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					i = _tmp73_ + 1;
#line 2057 "game.c"
				}
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp72_ = FALSE;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp74_ = i;
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp74_ < NCOLORS)) {
#line 544 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 2067 "game.c"
				}
#line 545 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp75_ = possible_types;
#line 545 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp75__length1 = possible_types_length1;
#line 545 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp76_ = i;
#line 545 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp77_ = i;
#line 545 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp75_[_tmp76_] = _tmp77_;
#line 545 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp78_ = _tmp75_[_tmp76_];
#line 2081 "game.c"
			}
		}
	}
	{
		gint i = 0;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		i = 0;
#line 2089 "game.c"
		{
			gboolean _tmp79_ = FALSE;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp79_ = TRUE;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 2096 "game.c"
				gint _tmp81_ = 0;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp79_) {
#line 2100 "game.c"
					gint _tmp80_ = 0;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp80_ = i;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					i = _tmp80_ + 1;
#line 2106 "game.c"
				}
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp79_ = FALSE;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp81_ = i;
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp81_ < NCOLORS)) {
#line 546 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 2116 "game.c"
				}
				{
					gint j = 0;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					j = 0;
#line 2122 "game.c"
					{
						gboolean _tmp82_ = FALSE;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp82_ = TRUE;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 2129 "game.c"
							gint _tmp84_ = 0;
							gint* _tmp85_ = NULL;
							gint _tmp85__length1 = 0;
							gint* _tmp86_ = NULL;
							gint _tmp86__length1 = 0;
							gint _tmp87_ = 0;
							gint _tmp88_ = 0;
							gint _tmp89_ = 0;
							gint* _tmp90_ = NULL;
							gint _tmp90__length1 = 0;
							gint* _tmp91_ = NULL;
							gint _tmp91__length1 = 0;
							gint _tmp92_ = 0;
							gint _tmp93_ = 0;
							gint _tmp94_ = 0;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp82_) {
#line 2147 "game.c"
								gint _tmp83_ = 0;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp83_ = j;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								j = _tmp83_ + 1;
#line 2153 "game.c"
							}
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp82_ = FALSE;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp84_ = j;
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp84_ < (NCOLORS - 1))) {
#line 548 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 2163 "game.c"
							}
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp85_ = metrics;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp85__length1 = metrics_length1;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp86_ = possible_types;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp86__length1 = possible_types_length1;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp87_ = j;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp88_ = _tmp86_[_tmp87_];
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp89_ = _tmp85_[_tmp88_];
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp90_ = metrics;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp90__length1 = metrics_length1;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp91_ = possible_types;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp91__length1 = possible_types_length1;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp92_ = j;
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp93_ = _tmp91_[_tmp92_ + 1];
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp94_ = _tmp90_[_tmp93_];
#line 550 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp89_ > _tmp94_) {
#line 2195 "game.c"
								gint t = 0;
								gint* _tmp95_ = NULL;
								gint _tmp95__length1 = 0;
								gint _tmp96_ = 0;
								gint _tmp97_ = 0;
								gint* _tmp98_ = NULL;
								gint _tmp98__length1 = 0;
								gint _tmp99_ = 0;
								gint* _tmp100_ = NULL;
								gint _tmp100__length1 = 0;
								gint _tmp101_ = 0;
								gint _tmp102_ = 0;
								gint _tmp103_ = 0;
								gint* _tmp104_ = NULL;
								gint _tmp104__length1 = 0;
								gint _tmp105_ = 0;
								gint _tmp106_ = 0;
								gint _tmp107_ = 0;
#line 552 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp95_ = possible_types;
#line 552 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp95__length1 = possible_types_length1;
#line 552 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp96_ = j;
#line 552 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp97_ = _tmp95_[_tmp96_];
#line 552 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								t = _tmp97_;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp98_ = possible_types;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp98__length1 = possible_types_length1;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp99_ = j;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp100_ = possible_types;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp100__length1 = possible_types_length1;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp101_ = j;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp102_ = _tmp100_[_tmp101_ + 1];
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp98_[_tmp99_] = _tmp102_;
#line 553 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp103_ = _tmp98_[_tmp99_];
#line 554 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp104_ = possible_types;
#line 554 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp104__length1 = possible_types_length1;
#line 554 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp105_ = j;
#line 554 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp106_ = t;
#line 554 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp104_[_tmp105_ + 1] = _tmp106_;
#line 554 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp107_ = _tmp104_[_tmp105_ + 1];
#line 2254 "game.c"
							}
						}
					}
				}
			}
		}
	}
#line 560 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp108_ = g_random_int_range ((gint32) 0, (gint32) 99);
#line 560 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	rnd = _tmp108_;
#line 561 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp109_ = rnd;
#line 561 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp109_ < ((gint32) 75)) {
#line 2270 "game.c"
		gint* _tmp110_ = NULL;
		gint _tmp110__length1 = 0;
		gint _tmp111_ = 0;
		gint32 _tmp112_ = 0;
		Shape* _tmp113_ = NULL;
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp110_ = possible_types;
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp110__length1 = possible_types_length1;
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp111_ = _tmp110_[0];
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp112_ = g_random_int_range ((gint32) 0, (gint32) 4);
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp113_ = game_make_shape (self, _tmp111_, (gint) _tmp112_);
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		result = _tmp113_;
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		possible_types = (g_free (possible_types), NULL);
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		metrics = (g_free (metrics), NULL);
#line 562 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		return result;
#line 2294 "game.c"
	} else {
		gint32 _tmp114_ = 0;
#line 563 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp114_ = rnd;
#line 563 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		if (_tmp114_ < ((gint32) 92)) {
#line 2301 "game.c"
			gint* _tmp115_ = NULL;
			gint _tmp115__length1 = 0;
			gint _tmp116_ = 0;
			gint32 _tmp117_ = 0;
			Shape* _tmp118_ = NULL;
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp115_ = possible_types;
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp115__length1 = possible_types_length1;
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp116_ = _tmp115_[1];
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp117_ = g_random_int_range ((gint32) 0, (gint32) 4);
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp118_ = game_make_shape (self, _tmp116_, (gint) _tmp117_);
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			result = _tmp118_;
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			possible_types = (g_free (possible_types), NULL);
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			metrics = (g_free (metrics), NULL);
#line 564 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			return result;
#line 2325 "game.c"
		} else {
			gint32 _tmp119_ = 0;
#line 565 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp119_ = rnd;
#line 565 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			if (_tmp119_ < ((gint32) 98)) {
#line 2332 "game.c"
				gint* _tmp120_ = NULL;
				gint _tmp120__length1 = 0;
				gint _tmp121_ = 0;
				gint32 _tmp122_ = 0;
				Shape* _tmp123_ = NULL;
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp120_ = possible_types;
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp120__length1 = possible_types_length1;
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp121_ = _tmp120_[2];
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp122_ = g_random_int_range ((gint32) 0, (gint32) 4);
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp123_ = game_make_shape (self, _tmp121_, (gint) _tmp122_);
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				result = _tmp123_;
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				possible_types = (g_free (possible_types), NULL);
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				metrics = (g_free (metrics), NULL);
#line 566 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				return result;
#line 2356 "game.c"
			} else {
				gint* _tmp124_ = NULL;
				gint _tmp124__length1 = 0;
				gint _tmp125_ = 0;
				gint32 _tmp126_ = 0;
				Shape* _tmp127_ = NULL;
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp124_ = possible_types;
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp124__length1 = possible_types_length1;
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp125_ = _tmp124_[3];
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp126_ = g_random_int_range ((gint32) 0, (gint32) 4);
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp127_ = game_make_shape (self, _tmp125_, (gint) _tmp126_);
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				result = _tmp127_;
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				possible_types = (g_free (possible_types), NULL);
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				metrics = (g_free (metrics), NULL);
#line 568 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				return result;
#line 2381 "game.c"
			}
		}
	}
#line 479 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	possible_types = (g_free (possible_types), NULL);
#line 479 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	metrics = (g_free (metrics), NULL);
#line 2389 "game.c"
}


static Shape* game_make_shape (Game* self, gint type, gint rotation) {
	Shape* result = NULL;
	Shape* shape = NULL;
	Shape* _tmp0_ = NULL;
	Shape* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	Shape* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gint offset = 0;
	Shape* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	Shape* _tmp7_ = NULL;
	gint _tmp8_ = 0;
	gint min_width = 0;
	gint max_width = 0;
	gint min_height = 0;
	gint max_height = 0;
	gint block_width = 0;
	gint _tmp42_ = 0;
	gint _tmp43_ = 0;
	Shape* _tmp44_ = NULL;
	gint _tmp45_ = 0;
	gint _tmp46_ = 0;
	gint _tmp47_ = 0;
	Shape* _tmp48_ = NULL;
	gint _tmp49_ = 0;
#line 571 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 573 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = shape_new ();
#line 573 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	shape = _tmp0_;
#line 574 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = shape;
#line 574 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = type;
#line 574 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_->type = _tmp2_;
#line 575 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = shape;
#line 575 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp4_ = rotation;
#line 575 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_->rotation = _tmp4_;
#line 578 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = shape;
#line 578 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp6_ = _tmp5_->type;
#line 578 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp7_ = shape;
#line 578 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp8_ = _tmp7_->rotation;
#line 578 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	offset = (_tmp6_ * 64) + (_tmp8_ * 16);
#line 579 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	min_width = 4;
#line 579 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	max_width = 0;
#line 579 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	min_height = 4;
#line 579 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	max_height = 0;
#line 2455 "game.c"
	{
		gint x = 0;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		x = 0;
#line 2460 "game.c"
		{
			gboolean _tmp9_ = FALSE;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp9_ = TRUE;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 2467 "game.c"
				gint _tmp11_ = 0;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp9_) {
#line 2471 "game.c"
					gint _tmp10_ = 0;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp10_ = x;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					x = _tmp10_ + 1;
#line 2477 "game.c"
				}
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_ = FALSE;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = x;
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp11_ < 4)) {
#line 580 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 2487 "game.c"
				}
				{
					gint y = 0;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					y = 0;
#line 2493 "game.c"
					{
						gboolean _tmp12_ = FALSE;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp12_ = TRUE;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 2500 "game.c"
							gint _tmp14_ = 0;
							gint _tmp15_ = 0;
							gint _tmp16_ = 0;
							gint _tmp17_ = 0;
							gint _tmp18_ = 0;
							gint _tmp19_ = 0;
							gint _tmp20_ = 0;
							gint _tmp21_ = 0;
							gint _tmp22_ = 0;
							gint _tmp23_ = 0;
							gint _tmp24_ = 0;
							gint _tmp25_ = 0;
							gint _tmp26_ = 0;
							gint _tmp27_ = 0;
							gint _tmp28_ = 0;
							gint _tmp29_ = 0;
							gint _tmp30_ = 0;
							Block* b = NULL;
							Block* _tmp31_ = NULL;
							Block* _tmp32_ = NULL;
							Shape* _tmp33_ = NULL;
							gint _tmp34_ = 0;
							Block* _tmp35_ = NULL;
							gint _tmp36_ = 0;
							Block* _tmp37_ = NULL;
							gint _tmp38_ = 0;
							Shape* _tmp39_ = NULL;
							Block* _tmp40_ = NULL;
							Block* _tmp41_ = NULL;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp12_) {
#line 2532 "game.c"
								gint _tmp13_ = 0;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp13_ = y;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								y = _tmp13_ + 1;
#line 2538 "game.c"
							}
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp12_ = FALSE;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp14_ = y;
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp14_ < 4)) {
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 2548 "game.c"
							}
#line 584 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp15_ = offset;
#line 584 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp16_ = y;
#line 584 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp17_ = x;
#line 584 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp18_ = block_table[(_tmp15_ + (_tmp16_ * 4)) + _tmp17_];
#line 584 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp18_ == 0) {
#line 585 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								continue;
#line 2562 "game.c"
							}
#line 587 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp19_ = x;
#line 587 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp20_ = min_width;
#line 587 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp21_ = MIN (_tmp19_, _tmp20_);
#line 587 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							min_width = _tmp21_;
#line 588 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp22_ = x;
#line 588 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp23_ = max_width;
#line 588 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp24_ = MAX (_tmp22_ + 1, _tmp23_);
#line 588 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							max_width = _tmp24_;
#line 589 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp25_ = y;
#line 589 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp26_ = min_height;
#line 589 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp27_ = MIN (_tmp25_, _tmp26_);
#line 589 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							min_height = _tmp27_;
#line 590 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp28_ = y;
#line 590 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp29_ = max_height;
#line 590 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp30_ = MAX (_tmp28_ + 1, _tmp29_);
#line 590 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							max_height = _tmp30_;
#line 592 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp31_ = block_new ();
#line 592 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							b = _tmp31_;
#line 593 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp32_ = b;
#line 593 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp33_ = shape;
#line 593 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp34_ = _tmp33_->type;
#line 593 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp32_->color = _tmp34_;
#line 594 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp35_ = b;
#line 594 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp36_ = x;
#line 594 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp35_->x = _tmp36_;
#line 595 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp37_ = b;
#line 595 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp38_ = y;
#line 595 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp37_->y = _tmp38_;
#line 596 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp39_ = shape;
#line 596 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp40_ = b;
#line 596 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp41_ = _g_object_ref0 (_tmp40_);
#line 596 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp39_->blocks = g_list_append (_tmp39_->blocks, _tmp41_);
#line 582 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_g_object_unref0 (b);
#line 2630 "game.c"
						}
					}
				}
			}
		}
	}
#line 599 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp42_ = max_width;
#line 599 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp43_ = min_width;
#line 599 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	block_width = _tmp42_ - _tmp43_;
#line 600 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp44_ = shape;
#line 600 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp45_ = game_get_width (self);
#line 600 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp46_ = _tmp45_;
#line 600 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp47_ = min_width;
#line 600 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp44_->x = ((_tmp46_ - block_width) / 2) - _tmp47_;
#line 601 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp48_ = shape;
#line 601 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp49_ = min_height;
#line 601 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp48_->y = -_tmp49_;
#line 603 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = shape;
#line 603 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 2663 "game.c"
}


static void game_land_shape (Game* self) {
	Shape* _tmp0_ = NULL;
	GList* _tmp1_ = NULL;
	gint fall_distance = 0;
	gint* lines = NULL;
	gint* _tmp21_ = NULL;
	gint lines_length1 = 0;
	gint _lines_size_ = 0;
	gint n_lines = 0;
	gboolean base_line_destroyed = FALSE;
	gint _tmp45_ = 0;
	gint _tmp46_ = 0;
	GList* line_blocks = NULL;
	gint old_level = 0;
	gint _tmp105_ = 0;
	gint _tmp106_ = 0;
	gint _tmp107_ = 0;
	gint _tmp108_ = 0;
	gint _tmp109_ = 0;
	gboolean _tmp122_ = FALSE;
	gint _tmp126_ = 0;
	gint _tmp127_ = 0;
	gint _tmp128_ = 0;
	gint* _tmp129_ = NULL;
	gint _tmp129__length1 = 0;
	GList* _tmp130_ = NULL;
#line 606 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->shape;
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = _tmp0_->blocks;
#line 2699 "game.c"
	{
		GList* b_collection = NULL;
		GList* b_it = NULL;
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		b_collection = _tmp1_;
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		for (b_it = b_collection; b_it != NULL; b_it = b_it->next) {
#line 2707 "game.c"
			Block* _tmp2_ = NULL;
			Block* b = NULL;
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp2_ = _g_object_ref0 ((Block*) b_it->data);
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			b = _tmp2_;
#line 2714 "game.c"
			{
				Block* _tmp3_ = NULL;
				Block* _tmp4_ = NULL;
				gint _tmp5_ = 0;
				Shape* _tmp6_ = NULL;
				gint _tmp7_ = 0;
				Block* _tmp8_ = NULL;
				Block* _tmp9_ = NULL;
				gint _tmp10_ = 0;
				Shape* _tmp11_ = NULL;
				gint _tmp12_ = 0;
				Block** _tmp13_ = NULL;
				gint _tmp13__length1 = 0;
				gint _tmp13__length2 = 0;
				Block* _tmp14_ = NULL;
				gint _tmp15_ = 0;
				Block* _tmp16_ = NULL;
				gint _tmp17_ = 0;
				Block* _tmp18_ = NULL;
				Block* _tmp19_ = NULL;
				Block* _tmp20_ = NULL;
#line 611 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp3_ = b;
#line 611 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp4_ = b;
#line 611 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp5_ = _tmp4_->x;
#line 611 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp6_ = self->shape;
#line 611 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp7_ = _tmp6_->x;
#line 611 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp4_->x = _tmp5_ + _tmp7_;
#line 612 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp8_ = b;
#line 612 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_ = b;
#line 612 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp10_ = _tmp9_->y;
#line 612 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = self->shape;
#line 612 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp12_ = _tmp11_->y;
#line 612 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_->y = _tmp10_ + _tmp12_;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13_ = self->blocks;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13__length1 = self->blocks_length1;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13__length2 = self->blocks_length2;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp14_ = b;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp15_ = _tmp14_->x;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp16_ = b;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp17_ = _tmp16_->y;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp18_ = b;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp19_ = _g_object_ref0 (_tmp18_);
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_g_object_unref0 (_tmp13_[(_tmp15_ * _tmp13__length2) + _tmp17_]);
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13_[(_tmp15_ * _tmp13__length2) + _tmp17_] = _tmp19_;
#line 613 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp20_ = _tmp13_[(_tmp15_ * _tmp13__length2) + _tmp17_];
#line 609 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_g_object_unref0 (b);
#line 2786 "game.c"
			}
		}
	}
#line 616 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	fall_distance = 0;
#line 617 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp21_ = g_new0 (gint, 4);
#line 617 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	lines = _tmp21_;
#line 617 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	lines_length1 = 4;
#line 617 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_lines_size_ = lines_length1;
#line 618 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	n_lines = 0;
#line 619 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	base_line_destroyed = FALSE;
#line 2804 "game.c"
	{
		gint y = 0;
		gint _tmp22_ = 0;
		gint _tmp23_ = 0;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp22_ = game_get_height (self);
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp23_ = _tmp22_;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		y = _tmp23_ - 1;
#line 2815 "game.c"
		{
			gboolean _tmp24_ = FALSE;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp24_ = TRUE;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 2822 "game.c"
				gint _tmp26_ = 0;
				gboolean explode = FALSE;
				gboolean _tmp36_ = FALSE;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp24_) {
#line 2828 "game.c"
					gint _tmp25_ = 0;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp25_ = y;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					y = _tmp25_ - 1;
#line 2834 "game.c"
				}
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp24_ = FALSE;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp26_ = y;
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp26_ >= 0)) {
#line 620 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 2844 "game.c"
				}
#line 622 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				explode = TRUE;
#line 2848 "game.c"
				{
					gint x = 0;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					x = 0;
#line 2853 "game.c"
					{
						gboolean _tmp27_ = FALSE;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp27_ = TRUE;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 2860 "game.c"
							gint _tmp29_ = 0;
							gint _tmp30_ = 0;
							gint _tmp31_ = 0;
							Block** _tmp32_ = NULL;
							gint _tmp32__length1 = 0;
							gint _tmp32__length2 = 0;
							gint _tmp33_ = 0;
							gint _tmp34_ = 0;
							Block* _tmp35_ = NULL;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp27_) {
#line 2872 "game.c"
								gint _tmp28_ = 0;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28_ = x;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								x = _tmp28_ + 1;
#line 2878 "game.c"
							}
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp27_ = FALSE;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp29_ = x;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp30_ = game_get_width (self);
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp31_ = _tmp30_;
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp29_ < _tmp31_)) {
#line 623 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 2892 "game.c"
							}
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp32_ = self->blocks;
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp32__length1 = self->blocks_length1;
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp32__length2 = self->blocks_length2;
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp33_ = x;
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp34_ = y;
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp35_ = _tmp32_[(_tmp33_ * _tmp32__length2) + _tmp34_];
#line 625 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp35_ == NULL) {
#line 627 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								explode = FALSE;
#line 628 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 2912 "game.c"
							}
						}
					}
				}
#line 632 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp36_ = explode;
#line 632 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp36_) {
#line 2921 "game.c"
					gint _tmp37_ = 0;
					gint _tmp38_ = 0;
					gint _tmp39_ = 0;
					gint* _tmp40_ = NULL;
					gint _tmp40__length1 = 0;
					gint _tmp41_ = 0;
					gint _tmp42_ = 0;
					gint _tmp43_ = 0;
					gint _tmp44_ = 0;
#line 634 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp37_ = y;
#line 634 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp38_ = game_get_height (self);
#line 634 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp39_ = _tmp38_;
#line 634 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					if (_tmp37_ == (_tmp39_ - 1)) {
#line 635 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						base_line_destroyed = TRUE;
#line 2941 "game.c"
					}
#line 636 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp40_ = lines;
#line 636 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp40__length1 = lines_length1;
#line 636 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp41_ = n_lines;
#line 636 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp42_ = y;
#line 636 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp40_[_tmp41_] = _tmp42_;
#line 636 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp43_ = _tmp40_[_tmp41_];
#line 637 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp44_ = n_lines;
#line 637 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					n_lines = _tmp44_ + 1;
#line 2959 "game.c"
				}
			}
		}
	}
#line 640 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp45_ = n_lines;
#line 640 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp46_ = _tmp45_;
#line 640 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	lines = g_renew (gint, lines, _tmp45_);
#line 640 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	(_tmp46_ > lines_length1) ? memset (lines + lines_length1, 0, sizeof (gint) * (_tmp46_ - lines_length1)) : NULL;
#line 640 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	lines_length1 = _tmp46_;
#line 640 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_lines_size_ = _tmp46_;
#line 642 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	line_blocks = NULL;
#line 2978 "game.c"
	{
		gint y = 0;
		gint _tmp47_ = 0;
		gint _tmp48_ = 0;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp47_ = game_get_height (self);
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp48_ = _tmp47_;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		y = _tmp48_ - 1;
#line 2989 "game.c"
		{
			gboolean _tmp49_ = FALSE;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp49_ = TRUE;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 2996 "game.c"
				gint _tmp51_ = 0;
				gboolean explode = FALSE;
				gboolean _tmp61_ = FALSE;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp49_) {
#line 3002 "game.c"
					gint _tmp50_ = 0;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp50_ = y;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					y = _tmp50_ - 1;
#line 3008 "game.c"
				}
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp49_ = FALSE;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp51_ = y;
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp51_ >= 0)) {
#line 643 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 3018 "game.c"
				}
#line 645 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				explode = TRUE;
#line 3022 "game.c"
				{
					gint x = 0;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					x = 0;
#line 3027 "game.c"
					{
						gboolean _tmp52_ = FALSE;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp52_ = TRUE;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 3034 "game.c"
							gint _tmp54_ = 0;
							gint _tmp55_ = 0;
							gint _tmp56_ = 0;
							Block** _tmp57_ = NULL;
							gint _tmp57__length1 = 0;
							gint _tmp57__length2 = 0;
							gint _tmp58_ = 0;
							gint _tmp59_ = 0;
							Block* _tmp60_ = NULL;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp52_) {
#line 3046 "game.c"
								gint _tmp53_ = 0;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp53_ = x;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								x = _tmp53_ + 1;
#line 3052 "game.c"
							}
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp52_ = FALSE;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp54_ = x;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp55_ = game_get_width (self);
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp56_ = _tmp55_;
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp54_ < _tmp56_)) {
#line 646 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 3066 "game.c"
							}
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp57_ = self->blocks;
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp57__length1 = self->blocks_length1;
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp57__length2 = self->blocks_length2;
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp58_ = x;
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp59_ = y;
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp60_ = _tmp57_[(_tmp58_ * _tmp57__length2) + _tmp59_];
#line 648 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp60_ == NULL) {
#line 650 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								explode = FALSE;
#line 651 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 3086 "game.c"
							}
						}
					}
				}
#line 655 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp61_ = explode;
#line 655 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp61_) {
#line 3095 "game.c"
					gint _tmp76_ = 0;
					{
						gint x = 0;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						x = 0;
#line 3101 "game.c"
						{
							gboolean _tmp62_ = FALSE;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp62_ = TRUE;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							while (TRUE) {
#line 3108 "game.c"
								gint _tmp64_ = 0;
								gint _tmp65_ = 0;
								gint _tmp66_ = 0;
								Block** _tmp67_ = NULL;
								gint _tmp67__length1 = 0;
								gint _tmp67__length2 = 0;
								gint _tmp68_ = 0;
								gint _tmp69_ = 0;
								Block* _tmp70_ = NULL;
								Block* _tmp71_ = NULL;
								Block** _tmp72_ = NULL;
								gint _tmp72__length1 = 0;
								gint _tmp72__length2 = 0;
								gint _tmp73_ = 0;
								gint _tmp74_ = 0;
								Block* _tmp75_ = NULL;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								if (!_tmp62_) {
#line 3127 "game.c"
									gint _tmp63_ = 0;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp63_ = x;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									x = _tmp63_ + 1;
#line 3133 "game.c"
								}
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp62_ = FALSE;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp64_ = x;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp65_ = game_get_width (self);
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp66_ = _tmp65_;
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								if (!(_tmp64_ < _tmp66_)) {
#line 657 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									break;
#line 3147 "game.c"
								}
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp67_ = self->blocks;
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp67__length1 = self->blocks_length1;
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp67__length2 = self->blocks_length2;
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp68_ = x;
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp69_ = y;
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp70_ = _tmp67_[(_tmp68_ * _tmp67__length2) + _tmp69_];
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp71_ = _g_object_ref0 (_tmp70_);
#line 659 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								line_blocks = g_list_append (line_blocks, _tmp71_);
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp72_ = self->blocks;
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp72__length1 = self->blocks_length1;
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp72__length2 = self->blocks_length2;
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp73_ = x;
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp74_ = y;
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_g_object_unref0 (_tmp72_[(_tmp73_ * _tmp72__length2) + _tmp74_]);
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp72_[(_tmp73_ * _tmp72__length2) + _tmp74_] = NULL;
#line 660 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp75_ = _tmp72_[(_tmp73_ * _tmp72__length2) + _tmp74_];
#line 3181 "game.c"
							}
						}
					}
#line 662 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp76_ = fall_distance;
#line 662 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					fall_distance = _tmp76_ + 1;
#line 3189 "game.c"
				} else {
					gint _tmp77_ = 0;
#line 664 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp77_ = fall_distance;
#line 664 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					if (_tmp77_ > 0) {
#line 3196 "game.c"
						{
							gint x = 0;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							x = 0;
#line 3201 "game.c"
							{
								gboolean _tmp78_ = FALSE;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp78_ = TRUE;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								while (TRUE) {
#line 3208 "game.c"
									gint _tmp80_ = 0;
									gint _tmp81_ = 0;
									gint _tmp82_ = 0;
									Block* b = NULL;
									Block** _tmp83_ = NULL;
									gint _tmp83__length1 = 0;
									gint _tmp83__length2 = 0;
									gint _tmp84_ = 0;
									gint _tmp85_ = 0;
									Block* _tmp86_ = NULL;
									Block* _tmp87_ = NULL;
									Block* _tmp88_ = NULL;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									if (!_tmp78_) {
#line 3223 "game.c"
										gint _tmp79_ = 0;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp79_ = x;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										x = _tmp79_ + 1;
#line 3229 "game.c"
									}
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp78_ = FALSE;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp80_ = x;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp81_ = game_get_width (self);
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp82_ = _tmp81_;
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									if (!(_tmp80_ < _tmp82_)) {
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										break;
#line 3243 "game.c"
									}
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp83_ = self->blocks;
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp83__length1 = self->blocks_length1;
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp83__length2 = self->blocks_length2;
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp84_ = x;
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp85_ = y;
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp86_ = _tmp83_[(_tmp84_ * _tmp83__length2) + _tmp85_];
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp87_ = _g_object_ref0 (_tmp86_);
#line 668 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									b = _tmp87_;
#line 669 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_tmp88_ = b;
#line 669 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									if (_tmp88_ != NULL) {
#line 3265 "game.c"
										Block* _tmp89_ = NULL;
										Block* _tmp90_ = NULL;
										gint _tmp91_ = 0;
										gint _tmp92_ = 0;
										Block** _tmp93_ = NULL;
										gint _tmp93__length1 = 0;
										gint _tmp93__length2 = 0;
										Block* _tmp94_ = NULL;
										gint _tmp95_ = 0;
										Block* _tmp96_ = NULL;
										gint _tmp97_ = 0;
										Block* _tmp98_ = NULL;
										Block* _tmp99_ = NULL;
										Block* _tmp100_ = NULL;
										Block** _tmp101_ = NULL;
										gint _tmp101__length1 = 0;
										gint _tmp101__length2 = 0;
										gint _tmp102_ = 0;
										gint _tmp103_ = 0;
										Block* _tmp104_ = NULL;
#line 671 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp89_ = b;
#line 671 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp90_ = b;
#line 671 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp91_ = _tmp90_->y;
#line 671 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp92_ = fall_distance;
#line 671 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp90_->y = _tmp91_ + _tmp92_;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp93_ = self->blocks;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp93__length1 = self->blocks_length1;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp93__length2 = self->blocks_length2;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp94_ = b;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp95_ = _tmp94_->x;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp96_ = b;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp97_ = _tmp96_->y;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp98_ = b;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp99_ = _g_object_ref0 (_tmp98_);
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_g_object_unref0 (_tmp93_[(_tmp95_ * _tmp93__length2) + _tmp97_]);
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp93_[(_tmp95_ * _tmp93__length2) + _tmp97_] = _tmp99_;
#line 672 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp100_ = _tmp93_[(_tmp95_ * _tmp93__length2) + _tmp97_];
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp101_ = self->blocks;
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp101__length1 = self->blocks_length1;
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp101__length2 = self->blocks_length2;
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp102_ = x;
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp103_ = y;
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_g_object_unref0 (_tmp101_[(_tmp102_ * _tmp101__length2) + _tmp103_]);
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp101_[(_tmp102_ * _tmp101__length2) + _tmp103_] = NULL;
#line 673 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
										_tmp104_ = _tmp101_[(_tmp102_ * _tmp101__length2) + _tmp103_];
#line 3336 "game.c"
									}
#line 666 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
									_g_object_unref0 (b);
#line 3340 "game.c"
								}
							}
						}
					}
				}
			}
		}
	}
#line 679 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp105_ = game_get_level (self);
#line 679 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp106_ = _tmp105_;
#line 679 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	old_level = _tmp106_;
#line 682 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp107_ = self->n_lines_destroyed;
#line 682 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp108_ = n_lines;
#line 682 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->n_lines_destroyed = _tmp107_ + _tmp108_;
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp109_ = n_lines;
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	switch (_tmp109_) {
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case 0:
#line 3367 "game.c"
		{
#line 686 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 3371 "game.c"
		}
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case 1:
#line 3375 "game.c"
		{
			gint _tmp110_ = 0;
			gint _tmp111_ = 0;
			gint _tmp112_ = 0;
#line 688 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp110_ = self->score;
#line 688 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp111_ = game_get_level (self);
#line 688 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp112_ = _tmp111_;
#line 688 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			self->score = _tmp110_ + (40 * _tmp112_);
#line 689 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 3390 "game.c"
		}
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case 2:
#line 3394 "game.c"
		{
			gint _tmp113_ = 0;
			gint _tmp114_ = 0;
			gint _tmp115_ = 0;
#line 691 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp113_ = self->score;
#line 691 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp114_ = game_get_level (self);
#line 691 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp115_ = _tmp114_;
#line 691 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			self->score = _tmp113_ + (100 * _tmp115_);
#line 692 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 3409 "game.c"
		}
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case 3:
#line 3413 "game.c"
		{
			gint _tmp116_ = 0;
			gint _tmp117_ = 0;
			gint _tmp118_ = 0;
#line 694 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp116_ = self->score;
#line 694 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp117_ = game_get_level (self);
#line 694 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp118_ = _tmp117_;
#line 694 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			self->score = _tmp116_ + (300 * _tmp118_);
#line 695 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 3428 "game.c"
		}
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case 4:
#line 3432 "game.c"
		{
			gint _tmp119_ = 0;
			gint _tmp120_ = 0;
			gint _tmp121_ = 0;
#line 697 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp119_ = self->score;
#line 697 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp120_ = game_get_level (self);
#line 697 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp121_ = _tmp120_;
#line 697 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			self->score = _tmp119_ + (1200 * _tmp121_);
#line 698 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 3447 "game.c"
		}
		default:
#line 683 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 3452 "game.c"
	}
#line 701 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp122_ = base_line_destroyed;
#line 701 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp122_) {
#line 3458 "game.c"
		gint _tmp123_ = 0;
		gint _tmp124_ = 0;
		gint _tmp125_ = 0;
#line 702 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp123_ = self->score;
#line 702 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp124_ = game_get_level (self);
#line 702 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp125_ = _tmp124_;
#line 702 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		self->score = _tmp123_ + (10000 * _tmp125_);
#line 3470 "game.c"
	}
#line 705 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp126_ = game_get_level (self);
#line 705 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp127_ = _tmp126_;
#line 705 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp128_ = old_level;
#line 705 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp127_ != _tmp128_) {
#line 706 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		game_setup_drop_timer (self);
#line 3482 "game.c"
	}
#line 708 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp129_ = lines;
#line 708 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp129__length1 = lines_length1;
#line 708 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp130_ = line_blocks;
#line 708 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_emit_by_name (self, "shape-landed", _tmp129_, _tmp129__length1, _tmp130_);
#line 709 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_g_object_unref0 (self->shape);
#line 709 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->shape = NULL;
#line 606 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	__g_list_free__g_object_unref0_0 (line_blocks);
#line 606 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	lines = (g_free (lines), NULL);
#line 3500 "game.c"
}


static gboolean game_move_shape (Game* self, gint x_step, gint y_step, gint r_step) {
	gboolean result = FALSE;
	Shape* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gboolean can_move = FALSE;
	Shape* _tmp2_ = NULL;
	GList* _tmp3_ = NULL;
	gboolean _tmp29_ = FALSE;
#line 712 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 714 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->shape;
#line 714 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp0_ == NULL) {
#line 715 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		result = FALSE;
#line 715 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		return result;
#line 3522 "game.c"
	}
#line 718 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = r_step;
#line 718 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	game_rotate_shape (self, _tmp1_);
#line 719 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	can_move = TRUE;
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = self->shape;
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = _tmp2_->blocks;
#line 3534 "game.c"
	{
		GList* b_collection = NULL;
		GList* b_it = NULL;
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		b_collection = _tmp3_;
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		for (b_it = b_collection; b_it != NULL; b_it = b_it->next) {
#line 3542 "game.c"
			Block* _tmp4_ = NULL;
			Block* b = NULL;
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp4_ = _g_object_ref0 ((Block*) b_it->data);
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			b = _tmp4_;
#line 3549 "game.c"
			{
				gint x = 0;
				Shape* _tmp5_ = NULL;
				gint _tmp6_ = 0;
				gint _tmp7_ = 0;
				Block* _tmp8_ = NULL;
				gint _tmp9_ = 0;
				gint y = 0;
				Shape* _tmp10_ = NULL;
				gint _tmp11_ = 0;
				gint _tmp12_ = 0;
				Block* _tmp13_ = NULL;
				gint _tmp14_ = 0;
				gboolean _tmp15_ = FALSE;
				gboolean _tmp16_ = FALSE;
				gboolean _tmp17_ = FALSE;
				gint _tmp18_ = 0;
#line 722 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp5_ = self->shape;
#line 722 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp6_ = _tmp5_->x;
#line 722 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp7_ = x_step;
#line 722 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp8_ = b;
#line 722 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp9_ = _tmp8_->x;
#line 722 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				x = (_tmp6_ + _tmp7_) + _tmp9_;
#line 723 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp10_ = self->shape;
#line 723 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp11_ = _tmp10_->y;
#line 723 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp12_ = y_step;
#line 723 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp13_ = b;
#line 723 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp14_ = _tmp13_->y;
#line 723 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				y = (_tmp11_ + _tmp12_) + _tmp14_;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp18_ = x;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp18_ < 0) {
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp17_ = TRUE;
#line 3597 "game.c"
				} else {
					gint _tmp19_ = 0;
					gint _tmp20_ = 0;
					gint _tmp21_ = 0;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp19_ = x;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp20_ = game_get_width (self);
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp21_ = _tmp20_;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp17_ = _tmp19_ >= _tmp21_;
#line 3610 "game.c"
				}
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp17_) {
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp16_ = TRUE;
#line 3616 "game.c"
				} else {
					gint _tmp22_ = 0;
					gint _tmp23_ = 0;
					gint _tmp24_ = 0;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp22_ = y;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp23_ = game_get_height (self);
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp24_ = _tmp23_;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp16_ = _tmp22_ >= _tmp24_;
#line 3629 "game.c"
				}
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp16_) {
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp15_ = TRUE;
#line 3635 "game.c"
				} else {
					Block** _tmp25_ = NULL;
					gint _tmp25__length1 = 0;
					gint _tmp25__length2 = 0;
					gint _tmp26_ = 0;
					gint _tmp27_ = 0;
					Block* _tmp28_ = NULL;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp25_ = self->blocks;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp25__length1 = self->blocks_length1;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp25__length2 = self->blocks_length2;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp26_ = x;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp27_ = y;
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp28_ = _tmp25_[(_tmp26_ * _tmp25__length2) + _tmp27_];
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp15_ = _tmp28_ != NULL;
#line 3657 "game.c"
				}
#line 724 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (_tmp15_) {
#line 726 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					can_move = FALSE;
#line 727 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_g_object_unref0 (b);
#line 727 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 3667 "game.c"
				}
#line 720 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_g_object_unref0 (b);
#line 3671 "game.c"
			}
		}
	}
#line 732 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp29_ = can_move;
#line 732 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp29_) {
#line 3679 "game.c"
		Shape* _tmp30_ = NULL;
		Shape* _tmp31_ = NULL;
		gint _tmp32_ = 0;
		gint _tmp33_ = 0;
		Shape* _tmp34_ = NULL;
		Shape* _tmp35_ = NULL;
		gint _tmp36_ = 0;
		gint _tmp37_ = 0;
		gint _tmp38_ = 0;
#line 734 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp30_ = self->shape;
#line 734 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp31_ = self->shape;
#line 734 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp32_ = _tmp31_->x;
#line 734 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp33_ = x_step;
#line 734 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp31_->x = _tmp32_ + _tmp33_;
#line 735 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp34_ = self->shape;
#line 735 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp35_ = self->shape;
#line 735 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp36_ = _tmp35_->y;
#line 735 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp37_ = y_step;
#line 735 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp35_->y = _tmp36_ + _tmp37_;
#line 737 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp38_ = x_step;
#line 737 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		if (_tmp38_ != 0) {
#line 738 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			g_signal_emit_by_name (self, "shape-moved");
#line 3715 "game.c"
		} else {
			gint _tmp39_ = 0;
#line 739 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp39_ = y_step;
#line 739 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			if (_tmp39_ > 0) {
#line 740 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				g_signal_emit_by_name (self, "shape-dropped");
#line 3724 "game.c"
			} else {
#line 742 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				g_signal_emit_by_name (self, "shape-rotated");
#line 3728 "game.c"
			}
		}
	} else {
		gint _tmp40_ = 0;
#line 745 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp40_ = r_step;
#line 745 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		game_rotate_shape (self, -_tmp40_);
#line 3737 "game.c"
	}
#line 747 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = can_move;
#line 747 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 3743 "game.c"
}


static void game_rotate_shape (Game* self, gint r_step) {
	gint r = 0;
	Shape* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	gint _tmp5_ = 0;
	gint _tmp7_ = 0;
	Shape* _tmp8_ = NULL;
	gint _tmp9_ = 0;
	Shape* _tmp10_ = NULL;
	gint _tmp11_ = 0;
	GList* b = NULL;
	Shape* _tmp12_ = NULL;
	GList* _tmp13_ = NULL;
	gint offset = 0;
	Shape* _tmp14_ = NULL;
	gint _tmp15_ = 0;
	gint _tmp16_ = 0;
#line 750 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 752 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->shape;
#line 752 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = _tmp0_->rotation;
#line 752 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp2_ = r_step;
#line 752 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	r = _tmp1_ + _tmp2_;
#line 753 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp3_ = r;
#line 753 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp3_ < 0) {
#line 3780 "game.c"
		gint _tmp4_ = 0;
#line 754 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp4_ = r;
#line 754 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		r = _tmp4_ + 4;
#line 3786 "game.c"
	}
#line 755 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = r;
#line 755 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp5_ >= 4) {
#line 3792 "game.c"
		gint _tmp6_ = 0;
#line 756 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp6_ = r;
#line 756 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		r = _tmp6_ - 4;
#line 3798 "game.c"
	}
#line 758 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp7_ = r;
#line 758 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp8_ = self->shape;
#line 758 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp9_ = _tmp8_->rotation;
#line 758 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp7_ == _tmp9_) {
#line 759 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		return;
#line 3810 "game.c"
	}
#line 760 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp10_ = self->shape;
#line 760 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp11_ = r;
#line 760 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp10_->rotation = _tmp11_;
#line 763 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp12_ = self->shape;
#line 763 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp13_ = _tmp12_->blocks;
#line 763 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	b = _tmp13_;
#line 764 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp14_ = self->shape;
#line 764 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp15_ = _tmp14_->type;
#line 764 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp16_ = r;
#line 764 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	offset = (_tmp15_ * 64) + (_tmp16_ * 16);
#line 3832 "game.c"
	{
		gint x = 0;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		x = 0;
#line 3837 "game.c"
		{
			gboolean _tmp17_ = FALSE;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			_tmp17_ = TRUE;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			while (TRUE) {
#line 3844 "game.c"
				gint _tmp19_ = 0;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!_tmp17_) {
#line 3848 "game.c"
					gint _tmp18_ = 0;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					_tmp18_ = x;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					x = _tmp18_ + 1;
#line 3854 "game.c"
				}
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp17_ = FALSE;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				_tmp19_ = x;
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
				if (!(_tmp19_ < 4)) {
#line 765 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					break;
#line 3864 "game.c"
				}
				{
					gint y = 0;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
					y = 0;
#line 3870 "game.c"
					{
						gboolean _tmp20_ = FALSE;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						_tmp20_ = TRUE;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
						while (TRUE) {
#line 3877 "game.c"
							gint _tmp22_ = 0;
							gint _tmp23_ = 0;
							gint _tmp24_ = 0;
							gint _tmp25_ = 0;
							gint _tmp26_ = 0;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!_tmp20_) {
#line 3885 "game.c"
								gint _tmp21_ = 0;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp21_ = y;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								y = _tmp21_ + 1;
#line 3891 "game.c"
							}
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp20_ = FALSE;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp22_ = y;
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (!(_tmp22_ < 4)) {
#line 767 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								break;
#line 3901 "game.c"
							}
#line 769 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp23_ = offset;
#line 769 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp24_ = y;
#line 769 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp25_ = x;
#line 769 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							_tmp26_ = block_table[(_tmp23_ + (_tmp24_ * 4)) + _tmp25_];
#line 769 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
							if (_tmp26_ != 0) {
#line 3913 "game.c"
								GList* _tmp27_ = NULL;
								gconstpointer _tmp28_ = NULL;
								gint _tmp29_ = 0;
								GList* _tmp30_ = NULL;
								gconstpointer _tmp31_ = NULL;
								gint _tmp32_ = 0;
								GList* _tmp33_ = NULL;
								GList* _tmp34_ = NULL;
#line 771 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp27_ = b;
#line 771 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp28_ = _tmp27_->data;
#line 771 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp29_ = x;
#line 771 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								((Block*) _tmp28_)->x = _tmp29_;
#line 772 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp30_ = b;
#line 772 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp31_ = _tmp30_->data;
#line 772 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp32_ = y;
#line 772 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								((Block*) _tmp31_)->y = _tmp32_;
#line 773 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp33_ = b;
#line 773 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								_tmp34_ = _tmp33_->next;
#line 773 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
								b = _tmp34_;
#line 3944 "game.c"
							}
						}
					}
				}
			}
		}
	}
}


gint game_get_width (Game* self) {
	gint result;
	Block** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gint _tmp0__length2 = 0;
	gint _tmp1_ = 0;
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->blocks;
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0__length1 = self->blocks_length1;
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0__length2 = self->blocks_length2;
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = _tmp0__length1;
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp1_;
#line 229 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 3975 "game.c"
}


gint game_get_height (Game* self) {
	gint result;
	Block** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gint _tmp0__length2 = 0;
	gint _tmp1_ = 0;
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->blocks;
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0__length1 = self->blocks_length1;
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0__length2 = self->blocks_length2;
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = _tmp0__length2;
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp1_;
#line 230 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 3999 "game.c"
}


gint game_get_level (Game* self) {
	gint result;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
#line 245 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 245 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->priv->starting_level;
#line 245 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = self->n_lines_destroyed;
#line 245 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp0_ + (_tmp1_ / 10);
#line 245 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 4017 "game.c"
}


gboolean game_get_paused (Game* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 260 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 260 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->priv->_paused;
#line 260 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp0_;
#line 260 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 4032 "game.c"
}


void game_set_paused (Game* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 261 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (self != NULL);
#line 263 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = value;
#line 263 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->_paused = _tmp0_;
#line 264 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = self->priv->has_started;
#line 264 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp1_) {
#line 265 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		game_setup_drop_timer (self);
#line 4051 "game.c"
	}
#line 266 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_emit_by_name (self, "pause-changed");
#line 261 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_object_notify ((GObject *) self, "paused");
#line 4057 "game.c"
}


gint game_get_shadow_y (Game* self) {
	gint result;
	Shape* _tmp0_ = NULL;
	gint d = 0;
	Game* g = NULL;
	Game* _tmp1_ = NULL;
	Shape* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	gint _tmp7_ = 0;
#line 273 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 275 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp0_ = self->shape;
#line 275 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (_tmp0_ == NULL) {
#line 276 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		result = 0;
#line 276 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		return result;
#line 4080 "game.c"
	}
#line 278 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	d = 0;
#line 279 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp1_ = game_copy (self);
#line 279 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g = _tmp1_;
#line 280 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	while (TRUE) {
#line 4090 "game.c"
		Game* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
		gint _tmp4_ = 0;
#line 280 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp2_ = g;
#line 280 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp3_ = game_move_shape (_tmp2_, 0, 1, 0);
#line 280 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		if (!_tmp3_) {
#line 280 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
			break;
#line 4102 "game.c"
		}
#line 281 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		_tmp4_ = d;
#line 281 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		d = _tmp4_ + 1;
#line 4108 "game.c"
	}
#line 283 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp5_ = self->shape;
#line 283 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp6_ = _tmp5_->y;
#line 283 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_tmp7_ = d;
#line 283 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	result = _tmp6_ + _tmp7_;
#line 283 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_g_object_unref0 (g);
#line 283 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	return result;
#line 4122 "game.c"
}


static void g_cclosure_user_marshal_VOID__POINTER_INT_POINTER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
	typedef void (*GMarshalFunc_VOID__POINTER_INT_POINTER) (gpointer data1, gpointer arg_1, gint arg_2, gpointer arg_3, gpointer data2);
	register GMarshalFunc_VOID__POINTER_INT_POINTER callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_return_if_fail (n_param_values == 4);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		data1 = closure->data;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		data2 = param_values->data[0].v_pointer;
#line 4141 "game.c"
	} else {
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		data1 = param_values->data[0].v_pointer;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		data2 = closure->data;
#line 4147 "game.c"
	}
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	callback = (GMarshalFunc_VOID__POINTER_INT_POINTER) (marshal_data ? marshal_data : cc->callback);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	callback (data1, g_value_get_pointer (param_values + 1), g_value_get_int (param_values + 2), g_value_get_pointer (param_values + 3), data2);
#line 4153 "game.c"
}


static void game_class_init (GameClass * klass) {
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	game_parent_class = g_type_class_peek_parent (klass);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_type_class_add_private (klass, sizeof (GamePrivate));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_game_get_property;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_game_set_property;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (klass)->finalize = game_finalize;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_WIDTH, g_param_spec_int ("width", "width", "width", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_HEIGHT, g_param_spec_int ("height", "height", "height", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_LEVEL, g_param_spec_int ("level", "level", "level", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_PAUSED, g_param_spec_boolean ("paused", "paused", "paused", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAME_SHADOW_Y, g_param_spec_int ("shadow-y", "shadow-y", "shadow-y", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("started", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("shape_added", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("shape_moved", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("shape_dropped", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("shape_rotated", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("shape_landed", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__POINTER_INT_POINTER, G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_INT, G_TYPE_POINTER);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("pause_changed", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	g_signal_new ("complete", TYPE_GAME, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 4194 "game.c"
}


static void game_instance_init (Game * self) {
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv = GAME_GET_PRIVATE (self);
#line 221 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->shape = NULL;
#line 224 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->next_shape = NULL;
#line 233 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->n_lines_destroyed = 0;
#line 236 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->score = 0;
#line 239 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->starting_level = 1;
#line 242 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->pick_difficult_blocks = FALSE;
#line 248 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->fast_forward = FALSE;
#line 251 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->drop_timeout = (guint) 0;
#line 254 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->has_started = FALSE;
#line 257 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->priv->_paused = FALSE;
#line 287 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->game_over = FALSE;
#line 4223 "game.c"
}


static void game_finalize (GObject* obj) {
	Game * self;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GAME, Game);
#line 221 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_g_object_unref0 (self->shape);
#line 224 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	_g_object_unref0 (self->next_shape);
#line 227 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	self->blocks = (_vala_array_free (self->blocks, self->blocks_length1 * self->blocks_length2, (GDestroyNotify) g_object_unref), NULL);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	G_OBJECT_CLASS (game_parent_class)->finalize (obj);
#line 4239 "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 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	switch (property_id) {
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case GAME_WIDTH:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_value_set_int (value, game_get_width (self));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case GAME_HEIGHT:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_value_set_int (value, game_get_height (self));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case GAME_LEVEL:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_value_set_int (value, game_get_level (self));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case GAME_PAUSED:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_value_set_boolean (value, game_get_paused (self));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case GAME_SHADOW_Y:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		g_value_set_int (value, game_get_shadow_y (self));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 4290 "game.c"
		default:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 4296 "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 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
	switch (property_id) {
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		case GAME_PAUSED:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		game_set_paused (self, g_value_get_boolean (value));
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 4312 "game.c"
		default:
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 218 "/home/mcatanzaro/src/jhbuild/checkout/quadrapassel/src/game.vala"
		break;
#line 4318 "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);
}



