[gnome-games/gnibbles-clutter] Moved gnibbles_add_bonus to level.c, removed old code, fixed a lot of tiny bugs



commit 74e5027a0307d2ba9c2718ba1c1b3342a50b130c
Author: Guillaume Beland <guillaubel svn gnome org>
Date:   Wed Jul 8 12:33:00 2009 -0400

    Moved gnibbles_add_bonus to level.c, removed old code, fixed a lot of tiny bugs
    
    Still having trouble making the logo disapear when a new game start so it's
    disabled, and it doesn't seem to catch the keypress_event correctly still

 gnibbles/gnibbles.c     |  326 +----------------------------------------------
 gnibbles/level.c        |  101 +++++++++++++++
 gnibbles/level.h        |    2 +
 gnibbles/main.c         |   51 ++++----
 gnibbles/worm-clutter.c |   44 ++++---
 5 files changed, 157 insertions(+), 367 deletions(-)
---
diff --git a/gnibbles/gnibbles.c b/gnibbles/gnibbles.c
index 997185f..f9ab36f 100644
--- a/gnibbles/gnibbles.c
+++ b/gnibbles/gnibbles.c
@@ -51,14 +51,12 @@
 
 GnibblesCWorm *worms[NUMWORMS];
 
-//GnibblesWorm *worms[NUMWORMS];
 GnibblesBoni *boni = NULL;
 GnibblesWarpManager *warpmanager;
 
 GdkPixmap *buffer_pixmap = NULL;
 GdkPixbuf *logo_pixmap = NULL;
 
-// clutter-related pixbuf
 GdkPixbuf *wall_pixmaps[11] = { NULL, NULL, NULL, NULL, NULL,
   NULL, NULL, NULL, NULL, NULL,
   NULL
@@ -74,7 +72,6 @@ GdkPixbuf *boni_pixmaps[9] = { NULL, NULL, NULL, NULL, NULL,
 
 extern GtkWidget *drawing_area;
 
-//extern gchar board[BOARDWIDTH][BOARDHEIGHT];
 extern GnibblesLevel *level;
 extern GnibblesBoard *board;
 
@@ -82,10 +79,6 @@ extern GnibblesProperties *properties;
 
 extern GnibblesScoreboard *scoreboard;
 
-/*
-extern guint properties->tilesize, properties->tilesize;
-*/
-
 static GdkPixbuf *
 gnibbles_load_pixmap_file (const gchar * pixmap, gint xsize, gint ysize)
 {
@@ -185,125 +178,10 @@ gnibbles_load_logo (void)
     g_object_unref (logo_pixmap);
   
   logo_pixmap = gnibbles_load_pixmap_file ("gnibbles-logo.svg",
-                               			            board->width * 8, 
-                                                board->height * 8);
+                               			       board->width * properties->tilesize, 
+                                           board->height * properties->tilesize);
 }
-/*
-void
-gnibbles_load_level (GtkWidget * window, gint level)
-{
-  gchar *tmp = NULL;
-  const char *dirname;
-  gchar *filename;
-  FILE *in;
-  gchar tmpboard[BOARDWIDTH + 2];
-  gint i, j;
-  gint count = 0;
-
-  tmp = g_strdup_printf ("level%03d.gnl", level);
-
-  dirname = games_runtime_get_directory (GAMES_RUNTIME_GAME_GAMES_DIRECTORY);
-  filename = g_build_filename (dirname, tmp, NULL);
-
-  g_free (tmp);
-  if ((in = fopen (filename, "r")) == NULL) {
-    char *message =
-      g_strdup_printf (_
-                       ("Nibbles couldn't load level file:\n%s\n\n"
-                        "Please check your Nibbles installation"), filename);
-    gnibbles_error (window, message);
-    g_free (message);
-  }
-
-  g_free (filename);
 
-  if (warpmanager)
-    gnibbles_warpmanager_destroy (warpmanager);
-
-  warpmanager = gnibbles_warpmanager_new ();
-
-  if (boni)
-    gnibbles_boni_destroy (boni);
-
-  boni = gnibbles_boni_new ();
-
-  for (i = 0; i < BOARDHEIGHT; i++) {
-    if (!fgets (tmpboard, sizeof (tmpboard), in)) {
-      char *message =
-        g_strdup_printf (_
-                         ("Level file appears to be damaged:\n%s\n\n"
-                         "Please check your Nibbles installation"), filename);
-      gnibbles_error (window, message);
-      g_free (message);
-      break;
-    }
-    for (j = 0; j < BOARDWIDTH; j++) {
-      board[j][i] = tmpboard[j];
-      switch (board[j][i]) {
-      case 'm':
-        board[j][i] = 'a';
-        if (count < properties->numworms)
-          gnibbles_worm_set_start (worms[count++], j, i, WORMUP);
-        break;
-      case 'n':
-        board[j][i] = 'a';
-        if (count < properties->numworms)
-          gnibbles_worm_set_start (worms[count++], j, i, WORMLEFT);
-        break;
-      case 'o':
-        board[j][i] = 'a';
-        if (count < properties->numworms)
-          gnibbles_worm_set_start (worms[count++], j, i, WORMDOWN);
-        break;
-      case 'p':
-        board[j][i] = 'a';
-        if (count < properties->numworms)
-          gnibbles_worm_set_start (worms[count++], j, i, WORMRIGHT);
-        break;
-      case 'Q':
-        gnibbles_warpmanager_add_warp (warpmanager, j - 1, i - 1, -1, -1);
-        break;
-      case 'R':
-      case 'S':
-      case 'T':
-      case 'U':
-      case 'V':
-      case 'W':
-      case 'X':
-      case 'Y':
-      case 'Z':
-        gnibbles_warpmanager_add_warp
-          (warpmanager, j - 1, i - 1, -board[j][i], 0);
-        break;
-      case 'r':
-      case 's':
-      case 't':
-      case 'u':
-      case 'v':
-      case 'w':
-      case 'x':
-      case 'y':
-      case 'z':
-        gnibbles_warpmanager_add_warp
-          (warpmanager, -(board[j][i] - 'a' + 'A'), 0, j, i);
-        board[j][i] = EMPTYCHAR;
-        break;
-      }
-      // Warpmanager draws the warp points. Everything else gets drawn here. 
-      if (board[j][i] >= 'a')
-        gnibbles_draw_pixmap_buffer (board[j][i] - 'a', j, i);
-    }
-  }
-
-  gdk_draw_drawable (GDK_DRAWABLE (drawing_area->window),
-                     drawing_area->style->
-                     fg_gc[GTK_WIDGET_STATE (drawing_area)], buffer_pixmap, 0,
-                     0, 0, 0, BOARDWIDTH * properties->tilesize,
-                     BOARDHEIGHT * properties->tilesize);
-
-  fclose (in);
-}
-*/
 void
 gnibbles_init ()
 {
@@ -335,200 +213,6 @@ gnibbles_init ()
   gnibbles_scoreboard_update (scoreboard);
 }
 
-void
-gnibbles_add_bonus (gint regular)
-{
-  gint x, y, good;
-
-#ifdef GGZ_CLIENT
-  if (!network_is_host ()) {
-    return;
-  }
-#endif
-
-  if (regular) {
-    good = 0;
-  } else {
-    good = rand () % 50;
-    if (good)
-      return;
-  }
-
-  do {
-    good = 1;
-    x = rand () % (BOARDWIDTH - 1);
-    y = rand () % (BOARDHEIGHT - 1);
-    if (level->walls[x][y] != EMPTYCHAR)
-      good = 0;
-    if (level->walls[x + 1][y] != EMPTYCHAR)
-      good = 0;
-    if (level->walls[x][y + 1] != EMPTYCHAR)
-      good = 0;
-    if (level->walls[x + 1][y + 1] != EMPTYCHAR)
-      good = 0;
-  } while (!good);
-
-  if (regular) {
-    if ((rand () % 7 == 0) && properties->fakes)
-      gnibbles_boni_add_bonus (boni, x, y, BONUSREGULAR, 1, 300);
-    good = 0;
-    while (!good) {
-      good = 1;
-      x = rand () % (BOARDWIDTH - 1);
-      y = rand () % (BOARDHEIGHT - 1);
-      if (level->walls[x][y] != EMPTYCHAR)
-	      good = 0;
-      if (level->walls[x + 1][y] != EMPTYCHAR)
-	      good = 0;
-      if (level->walls[x][y + 1] != EMPTYCHAR)
-	      good = 0;
-      if (level->walls[x + 1][y + 1] != EMPTYCHAR)
-	      good = 0;
-    }
-    gnibbles_boni_add_bonus (boni, x, y, BONUSREGULAR, 0, 300);
-  } else if (boni->missed <= MAXMISSED) {
-    good = rand () % 7;
-
-    if (good)
-      good = 0;
-    else
-      good = 1;
-
-    if (good && !properties->fakes)
-      return;
-
-    switch (rand () % 21) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-    case 8:
-    case 9:
-      gnibbles_boni_add_bonus (boni, x, y, BONUSHALF, good, 200);
-      break;
-    case 10:
-    case 11:
-    case 12:
-    case 13:
-    case 14:
-      gnibbles_boni_add_bonus (boni, x, y, BONUSDOUBLE, good, 150);
-      break;
-    case 15:
-      gnibbles_boni_add_bonus (boni, x, y, BONUSLIFE, good, 100);
-      break;
-    case 16:
-    case 17:
-    case 18:
-    case 19:
-    case 20:
-      if (properties->numworms > 1)
-	      gnibbles_boni_add_bonus (boni, x, y, BONUSREVERSE, good, 150);
-      break;
-    }
-  }
-}
-/*
-void
-gnibbles_add_bonus (gint regular)
-{
-  gint x, y, good;
-
-#ifdef GGZ_CLIENT
-  if (!network_is_host ()) {
-    return;
-  }
-#endif
-
-  if (regular) {
-    good = 0;
-  } else {
-    good = rand () % 50;
-    if (good)
-      return;
-  }
-
-  do {
-    good = 1;
-    x = rand () % (BOARDWIDTH - 1);
-    y = rand () % (BOARDHEIGHT - 1);
-    if (board[x][y] != EMPTYCHAR)
-      good = 0;
-    if (board[x + 1][y] != EMPTYCHAR)
-      good = 0;
-    if (board[x][y + 1] != EMPTYCHAR)
-      good = 0;
-    if (board[x + 1][y + 1] != EMPTYCHAR)
-      good = 0;
-  } while (!good);
-
-  if (regular) {
-    if ((rand () % 7 == 0) && properties->fakes)
-      gnibbles_boni_add_bonus (boni, x, y, BONUSREGULAR, 1, 300);
-    good = 0;
-    while (!good) {
-      good = 1;
-      x = rand () % (BOARDWIDTH - 1);
-      y = rand () % (BOARDHEIGHT - 1);
-      if (board[x][y] != EMPTYCHAR)
-	good = 0;
-      if (board[x + 1][y] != EMPTYCHAR)
-	good = 0;
-      if (board[x][y + 1] != EMPTYCHAR)
-	good = 0;
-      if (board[x + 1][y + 1] != EMPTYCHAR)
-	good = 0;
-    }
-    gnibbles_boni_add_bonus (boni, x, y, BONUSREGULAR, 0, 300);
-  } else if (boni->missed <= MAXMISSED) {
-    good = rand () % 7;
-
-    if (good)
-      good = 0;
-    else
-      good = 1;
-
-    if (good && !properties->fakes)
-      return;
-
-    switch (rand () % 21) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-    case 8:
-    case 9:
-      gnibbles_boni_add_bonus (boni, x, y, BONUSHALF, good, 200);
-      break;
-    case 10:
-    case 11:
-    case 12:
-    case 13:
-    case 14:
-      gnibbles_boni_add_bonus (boni, x, y, BONUSDOUBLE, good, 150);
-      break;
-    case 15:
-      gnibbles_boni_add_bonus (boni, x, y, BONUSLIFE, good, 100);
-      break;
-    case 16:
-    case 17:
-    case 18:
-    case 19:
-    case 20:
-      if (properties->numworms > 1)
-	gnibbles_boni_add_bonus (boni, x, y, BONUSREVERSE, good, 150);
-      break;
-    }
-  }
-}
-*/
 gint
 gnibbles_move_worms (void)
 {
@@ -558,7 +242,7 @@ gnibbles_move_worms (void)
                                     boni->bonuses[i]->x, 
                                     boni->bonuses[i]->y);
 	      boni->missed++;
-	      gnibbles_add_bonus (1);
+	      gnibbles_level_add_bonus (level, 1);
       } else {
 	      gnibbles_boni_remove_bonus (boni, 
                                     boni->bonuses[i]->x, 
@@ -576,8 +260,8 @@ gnibbles_move_worms (void)
 
     nbr_actor = g_list_length (worms[i]->list);
     length = gnibbles_cworm_get_length (worms[i]);
-    printf ("\nWorm ID: %d, Actors: %d, Length: %d,  xhead: %d, yhead:%d",
-            i, nbr_actor, length, worms[i]->xhead, worms[i]->yhead);
+    //printf ("\nWorm ID: %d, Actors: %d, Length: %d,  xhead: %d, yhead:%d",
+    //        i, nbr_actor, length, worms[i]->xhead, worms[i]->yhead);
 
     if (worms[i]->xhead >= BOARDWIDTH) {
       worms[i]->xhead = 0;
diff --git a/gnibbles/level.c b/gnibbles/level.c
index 79c84a1..1cd39d5 100644
--- a/gnibbles/level.c
+++ b/gnibbles/level.c
@@ -29,6 +29,9 @@
 #include "properties.h"
 #include "boni.h"
 
+#ifdef GGZ_CLIENT
+#include "ggz-network.h"
+#endif
 extern GnibblesCWorm *worms[];
 extern GnibblesProperties *properties;
 extern GnibblesWarpManager *warpmanager;
@@ -152,3 +155,101 @@ gnibbles_level_new (gint level)
   return lvl;
 }
 
+void
+gnibbles_level_add_bonus (GnibblesLevel *level, gint regular)
+{
+  gint x, y, good;
+
+#ifdef GGZ_CLIENT
+  if (!network_is_host ()) {
+    return;
+  }
+#endif
+
+  if (regular) {
+    good = 0;
+  } else {
+    good = rand () % 50;
+    if (good)
+      return;
+  }
+
+  do {
+    good = 1;
+    x = rand () % (BOARDWIDTH - 1);
+    y = rand () % (BOARDHEIGHT - 1);
+    if (level->walls[x][y] != EMPTYCHAR)
+      good = 0;
+    if (level->walls[x + 1][y] != EMPTYCHAR)
+      good = 0;
+    if (level->walls[x][y + 1] != EMPTYCHAR)
+      good = 0;
+    if (level->walls[x + 1][y + 1] != EMPTYCHAR)
+      good = 0;
+  } while (!good);
+
+  if (regular) {
+    if ((rand () % 7 == 0) && properties->fakes)
+      gnibbles_boni_add_bonus (boni, x, y, BONUSREGULAR, 1, 300);
+    good = 0;
+    while (!good) {
+      good = 1;
+      x = rand () % (BOARDWIDTH - 1);
+      y = rand () % (BOARDHEIGHT - 1);
+      if (level->walls[x][y] != EMPTYCHAR)
+	      good = 0;
+      if (level->walls[x + 1][y] != EMPTYCHAR)
+	      good = 0;
+      if (level->walls[x][y + 1] != EMPTYCHAR)
+	      good = 0;
+      if (level->walls[x + 1][y + 1] != EMPTYCHAR)
+	      good = 0;
+    }
+    gnibbles_boni_add_bonus (boni, x, y, BONUSREGULAR, 0, 300);
+  } else if (boni->missed <= MAXMISSED) {
+    good = rand () % 7;
+
+    if (good)
+      good = 0;
+    else
+      good = 1;
+
+    if (good && !properties->fakes)
+      return;
+
+    switch (rand () % 21) {
+    case 0:
+    case 1:
+    case 2:
+    case 3:
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+      gnibbles_boni_add_bonus (boni, x, y, BONUSHALF, good, 200);
+      break;
+    case 10:
+    case 11:
+    case 12:
+    case 13:
+    case 14:
+      gnibbles_boni_add_bonus (boni, x, y, BONUSDOUBLE, good, 150);
+      break;
+    case 15:
+      gnibbles_boni_add_bonus (boni, x, y, BONUSLIFE, good, 100);
+      break;
+    case 16:
+    case 17:
+    case 18:
+    case 19:
+    case 20:
+      if (properties->numworms > 1)
+	      gnibbles_boni_add_bonus (boni, x, y, BONUSREVERSE, good, 150);
+      break;
+    }
+  }
+}
+
+
diff --git a/gnibbles/level.h b/gnibbles/level.h
index 53245eb..56f2c99 100644
--- a/gnibbles/level.h
+++ b/gnibbles/level.h
@@ -39,4 +39,6 @@ typedef struct {
 } GnibblesLevel;
 
 GnibblesLevel *gnibbles_level_new (gint level);
+void gnibbles_level_add_bonus (GnibblesLevel *level, gint regular);
+
 #endif
diff --git a/gnibbles/main.c b/gnibbles/main.c
index 0042ce1..c56f831 100644
--- a/gnibbles/main.c
+++ b/gnibbles/main.c
@@ -103,12 +103,6 @@ gint paused = 0;
 
 gint current_level;
 
-static struct _pointers {
-  GdkCursor *current;
-  GdkCursor *invisible;
-} pointers = {
-NULL};
-
 static gint add_bonus_cb (gpointer data);
 
 static void render_logo (void);
@@ -131,10 +125,8 @@ static ClutterGroup *landing_page;
 static void
 hide_cursor (void)
 {
-  if (pointers.current != pointers.invisible) {
-    gdk_window_set_cursor (board->clutter_widget->window, pointers.invisible);
-    pointers.current = pointers.invisible;
-  }
+  ClutterActor *stage = gnibbles_board_get_stage (board);
+  clutter_stage_hide_cursor (CLUTTER_STAGE (stage));
 }
 
 static void
@@ -189,10 +181,8 @@ window_state_cb (GtkWidget * widget, GdkEventWindowState * event)
 static void
 show_cursor (void)
 {
-  if (pointers.current != NULL) {
-    gdk_window_set_cursor (board->clutter_widget->window, NULL);
-    pointers.current = NULL;
-  }
+  ClutterActor *stage = gnibbles_board_get_stage (board);
+  clutter_stage_show_cursor (CLUTTER_STAGE (stage));
 }
 
 gint
@@ -285,6 +275,8 @@ configure_event_cb (GtkWidget * widget, GdkEventConfigure * event, gpointer data
   tilesize = MIN (ts_x, ts_y);
 
   int i;
+  
+  gnibbles_load_pixmap (tilesize);
 
   if (game_running ()) {
     if (board) {
@@ -303,8 +295,6 @@ configure_event_cb (GtkWidget * widget, GdkEventConfigure * event, gpointer data
     return FALSE;
   }
 
-  gnibbles_load_pixmap (tilesize);
-
   properties->tilesize = tilesize;
   gnibbles_properties_set_tile_size (tilesize);
 
@@ -329,9 +319,9 @@ new_game_2_cb (GtkWidget * widget, gpointer data)
 {
   if (!paused) {
     if (!keyboard_id)
-      keyboard_id = g_signal_connect (G_OBJECT (window),
-				      "key_press_event",
-				      G_CALLBACK (key_press_cb), NULL);
+      keyboard_id = g_signal_connect (G_OBJECT (gnibbles_board_get_stage (board)),
+				                              "key_press_event",
+                        				      G_CALLBACK (key_press_cb), NULL);
 #ifdef GGZ_CLIENT
     if (!main_id && ggz_network_mode && network_is_host ()) {
       main_id = g_timeout_add (GAMEDELAY * (properties->gamespeed + NETDELAY),
@@ -383,10 +373,10 @@ new_game (void)
     current_level = rand () % MAXLEVEL + 1;
   }
 
-  hide_logo ();
+  //hide_logo ();
   level = gnibbles_level_new (current_level);
   gnibbles_board_load_level (board, level);
-  gnibbles_add_bonus (1);
+  gnibbles_level_add_bonus (level, 1);
   gnibbles_init ();
 
   paused = 0;
@@ -528,7 +518,7 @@ end_game_cb (GtkAction * action, gpointer data)
 static gint
 add_bonus_cb (gpointer data)
 {
-  gnibbles_add_bonus (0);
+  gnibbles_level_add_bonus (level, 0);
   return (TRUE);
 }
 
@@ -537,7 +527,7 @@ restart_game (gpointer data)
 {
   level = gnibbles_level_new (current_level);
   gnibbles_board_load_level (board, level);
-  gnibbles_add_bonus (1);
+  gnibbles_level_add_bonus (level, 1);
   dummy_id = g_timeout_add_seconds (1, (GSourceFunc) new_game_2_cb, NULL);
   restart_id = 0;
   
@@ -918,9 +908,18 @@ render_logo (void)
 static void
 hide_logo (void)
 {
-  ClutterActor *tmp = gnibbles_board_get_stage (board);
-  clutter_container_remove_actor (CLUTTER_CONTAINER (tmp), 
-                                  CLUTTER_ACTOR (landing_page));
+  int count = clutter_group_get_n_children (CLUTTER_GROUP (landing_page));
+  int i;
+  ClutterActor *tmp = NULL;
+
+  //ClutterActor *stage = gnibbles_board_get_stage (board);
+  for (i = 0 ; i < count; i++) {
+    tmp = clutter_group_get_nth_child (landing_page, i);
+    clutter_actor_hide (CLUTTER_ACTOR (tmp));
+    clutter_container_remove_actor (CLUTTER_CONTAINER (landing_page), 
+                                  CLUTTER_ACTOR (tmp));
+  }
+  //clutter_actor_queue_redraw (CLUTTER_ACTOR (landing_page));
 }
 
 int
diff --git a/gnibbles/worm-clutter.c b/gnibbles/worm-clutter.c
index 6944d3d..3ded7cc 100644
--- a/gnibbles/worm-clutter.c
+++ b/gnibbles/worm-clutter.c
@@ -181,32 +181,35 @@ gnibbles_cworm_handle_keypress (GnibblesCWorm * worm, guint keyval)
   keyvalUpper = toupper(keyval);
 
   if (properties->wormprops[worm->number]->relmove) {
-    if (keyvalUpper == propsLeft)
+    if (keyvalUpper == propsLeft) {
       cworm_handle_direction (worm->number, worm->direction - 1);
-    else if (keyvalUpper == propsRight)
+      gnibbles_cworm_add_actor (worm);
+    } else if (keyvalUpper == propsRight) {
       cworm_handle_direction (worm->number, worm->direction + 1);
-    else
+      gnibbles_cworm_add_actor (worm);
+    } else {
       return FALSE;
+    }
     return TRUE;
   } else {
     if ((keyvalUpper == propsUp) && (worm->direction != WORMDOWN)) {
       cworm_handle_direction (worm->number, WORMUP);
-      /*worm->keypress = 1; */
+      gnibbles_cworm_add_actor (worm);
       return TRUE;
     }
     if ((keyvalUpper == propsRight) && (worm->direction != WORMLEFT)) {
       cworm_handle_direction (worm->number, WORMRIGHT);
-      /*worm->keypress = 1; */
+      gnibbles_cworm_add_actor (worm);
       return TRUE;
     }
     if ((keyvalUpper == propsDown) && (worm->direction != WORMUP)) {
       cworm_handle_direction (worm->number, WORMDOWN);
-      /*worm->keypress = 1; */
+      gnibbles_cworm_add_actor (worm);
       return TRUE;
     }
     if ((keyvalUpper == propsLeft) && (worm->direction != WORMRIGHT)) {
       cworm_handle_direction (worm->number, WORMLEFT);
-      /*worm->keypress = 1; */
+      gnibbles_cworm_add_actor (worm);
       return TRUE;
     }
   }
@@ -263,6 +266,8 @@ gnibbles_cworm_new (guint number, guint t_xhead,
   worm->xstart = t_xhead;
   worm->yhead = t_yhead;
   worm->ystart = t_yhead;
+  worm->xtail = t_xhead;
+  worm->ytail = t_yhead;
   worm->direction = t_direction;
   worm->direction_start = t_direction;
 
@@ -397,7 +402,6 @@ gnibbles_cworm_resize (GnibblesCWorm *worm, gint newtile)
   ClutterActor *tmp;
 
   count = clutter_group_get_n_children (CLUTTER_GROUP (worm->actors));
-  gnibbles_load_pixmap (newtile);
 
   g_value_init (&val, G_TYPE_BOOLEAN);
 
@@ -440,33 +444,33 @@ gnibbles_cworm_move_straight_worm (GnibblesCWorm *worm)
     case WORMRIGHT:
       clutter_actor_set_position (CLUTTER_ACTOR (head), 
                                  x + properties->tilesize, y);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->xhead++;
-      //level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
+      level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
       worm->xtail++;
       break;
     case WORMDOWN:
       clutter_actor_set_position (CLUTTER_ACTOR (head), 
                                   x, y + properties->tilesize);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->yhead++;
-      //level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
+      level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
       worm->ytail++;
       break;
     case WORMLEFT:
       clutter_actor_set_position (CLUTTER_ACTOR (head), 
                                  x - properties->tilesize, y);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->xhead--;
-      //level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
+      level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
       worm->xtail--;
       break;
     case WORMUP:
       clutter_actor_set_position (CLUTTER_ACTOR (head), 
                                   x, y - properties->tilesize);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->yhead--;
-      //level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
+      level->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
       worm->ytail--;
       break;
     default:
@@ -501,14 +505,14 @@ gnibbles_cworm_move_head (GnibblesCWorm *worm)
       clutter_actor_set_size (CLUTTER_ACTOR (head), 
                               size, 
                               properties->tilesize);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->xhead++;
       break;
     case WORMDOWN:
       clutter_actor_set_size (CLUTTER_ACTOR (head), 
                               properties->tilesize, 
                               size);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->yhead++;
       break;
     case WORMLEFT:
@@ -517,7 +521,7 @@ gnibbles_cworm_move_head (GnibblesCWorm *worm)
                               properties->tilesize);
       clutter_actor_set_position (CLUTTER_ACTOR (head), 
                                   x - properties->tilesize, y);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->xhead--;
       break;
     case WORMUP:
@@ -526,7 +530,7 @@ gnibbles_cworm_move_head (GnibblesCWorm *worm)
                               size);
       clutter_actor_set_position (CLUTTER_ACTOR (head), 
                                   x, y - properties->tilesize);
-      //level->walls[worm->xhead][worm->yhead] = WORMCHAR;
+      level->walls[worm->xhead][worm->yhead] = WORMCHAR;
       worm->yhead--;
       break;
     default:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]