fixed ignoring clicks on global animations after executing event actions
[rocksndiamonds.git] / src / game.c
index fbe9fd00ba8e1d705ad07b4d9d36c8ff873107f8..96fa321fb09a10f26898014f98dfd79846f3a7fa 100644 (file)
@@ -3558,6 +3558,24 @@ void InitGame()
   if (options.debug)
   {
     printf("Player status at level initialization:\n");
+
+    for (i = 0; i < MAX_PLAYERS; i++)
+    {
+      struct PlayerInfo *player = &stored_player[i];
+
+      printf("- player %d: present == %d, connected == %d [%d/%d], active == %d",
+            i + 1,
+            player->present,
+            player->connected,
+            player->connected_locally,
+            player->connected_network,
+            player->active);
+
+      if (local_player == player)
+       printf(" (local player)");
+
+      printf("\n");
+    }
   }
 #endif
 
@@ -3718,10 +3736,12 @@ void InitGame()
     {
       struct PlayerInfo *player = &stored_player[i];
 
-      printf("- player %d: present == %d, connected == %d, active == %d",
+      printf("- player %d: present == %d, connected == %d [%d/%d], active == %d",
             i + 1,
             player->present,
             player->connected,
+            player->connected_locally,
+            player->connected_network,
             player->active);
 
       if (local_player == player)
@@ -3824,10 +3844,12 @@ void InitGame()
     {
       struct PlayerInfo *player = &stored_player[i];
 
-      printf("- player %d: present == %d, connected == %d, active == %d",
+      printf("- player %d: present == %d, connected == %d [%d/%d], active == %d",
             i + 1,
             player->present,
             player->connected,
+            player->connected_locally,
+            player->connected_network,
             player->active);
 
       if (local_player == player)
@@ -3989,10 +4011,12 @@ void InitGame()
     {
       struct PlayerInfo *player = &stored_player[i];
 
-      printf("- player %d: present == %d, connected == %d, active == %d",
+      printf("- player %d: present == %d, connected == %d [%d/%d], active == %d",
             i + 1,
             player->present,
             player->connected,
+            player->connected_locally,
+            player->connected_network,
             player->active);
 
       if (local_player == player)
@@ -4208,10 +4232,12 @@ void InitGame()
       {
        struct PlayerInfo *player = &stored_player[i];
 
-       printf("- player %d: present == %d, connected == %d, active == %d",
+       printf("- player %d: present == %d, connected == %d [%d/%d], active == %d",
               i + 1,
               player->present,
               player->connected,
+              player->connected_locally,
+              player->connected_network,
               player->active);
 
        if (local_player == player)
@@ -15444,7 +15470,8 @@ void CreateGameButtons()
 
   for (i = 0; i < NUM_GAME_BUTTONS; i++)
   {
-    struct GraphicInfo *gfx = &graphic_info[gamebutton_info[i].graphic];
+    int graphic = gamebutton_info[i].graphic;
+    struct GraphicInfo *gfx = &graphic_info[graphic];
     struct XY *pos = gamebutton_info[i].pos;
     struct GadgetInfo *gi;
     int button_type;
@@ -15498,6 +15525,7 @@ void CreateGameButtons()
     }
 
     gi = CreateGadget(GDI_CUSTOM_ID, id,
+                     GDI_IMAGE_ID, graphic,
                      GDI_INFO_TEXT, gamebutton_info[i].infotext,
                      GDI_X, base_x + GDI_ACTIVE_POS(pos->x),
                      GDI_Y, base_y + GDI_ACTIVE_POS(pos->y),