X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=96fa321fb09a10f26898014f98dfd79846f3a7fa;hb=93d70984a668ae9a0a6c76c42e660978f34c3993;hp=a17dc326f05e0a3a97c9490cb0fd39024c0982bb;hpb=b8803f08af3cf07efed781124417be11c1a306ee;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index a17dc326..96fa321f 100644 --- a/src/game.c +++ b/src/game.c @@ -3545,18 +3545,6 @@ void InitGame() game.envelope_active = FALSE; - /* set focus to local player for network games, else to all players */ - game.centered_player_nr = (network_playing ? local_player->index_nr : -1); - game.centered_player_nr_next = game.centered_player_nr; - game.set_centered_player = FALSE; - - if (network_playing && tape.recording) - { - /* store client dependent player focus when recording network games */ - tape.centered_player_nr_next = game.centered_player_nr_next; - tape.set_centered_player = TRUE; - } - for (i = 0; i < NUM_BELTS; i++) { game.belt_dir[i] = MV_NONE; @@ -3570,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 @@ -3730,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) @@ -3836,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) @@ -3895,6 +3905,18 @@ void InitGame() printf("::: local_player->present == %d\n", local_player->present); #endif + /* set focus to local player for network games, else to all players */ + game.centered_player_nr = (network_playing ? local_player->index_nr : -1); + game.centered_player_nr_next = game.centered_player_nr; + game.set_centered_player = FALSE; + + if (network_playing && tape.recording) + { + /* store client dependent player focus when recording network games */ + tape.centered_player_nr_next = game.centered_player_nr_next; + tape.set_centered_player = TRUE; + } + if (tape.playing) { /* when playing a tape, eliminate all players who do not participate */ @@ -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),