+ players_left = lev.home_initial;
+
+ for (i = 0; i < MAX_PLAYERS; i++)
+ {
+ if (ply[i].exists)
+ {
+ if (players_left)
+ {
+ ply[i].alive_initial = TRUE;
+ players_left--;
+ }
+ else
+ {
+ int x = ply[i].x_initial;
+ int y = ply[i].y_initial;
+
+ native_em_level.cave[x][y] = Xblank;
+
+ Cave[y][x] = Next[y][x] = Draw[y][x] = Xblank;
+ }
+ }
+ }
+
+ for (i = 0; i < MAX_PLAYERS; i++)
+ {
+ ply[i].num = i;
+ ply[i].alive = ply[i].alive_initial;
+ ply[i].dynamite = 0;
+ ply[i].dynamite_cnt = 0;
+ ply[i].keys = 0;
+ ply[i].anim = 0;
+ ply[i].oldx = ply[i].x = ply[i].x_initial;
+ ply[i].oldy = ply[i].y = ply[i].y_initial;
+ ply[i].last_move_dir = MV_NONE;
+ ply[i].joy_n = ply[i].joy_e = ply[i].joy_s = ply[i].joy_w = 0;
+ ply[i].joy_snap = ply[i].joy_drop = 0;
+ ply[i].joy_stick = ply[i].joy_spin = 0;
+
+#if 0
+ printf("player %d: x/y == %d/%d, alive == %d\n",
+ i, ply[i].x_initial, ply[i].y_initial, ply[i].alive);
+#endif
+ }
+
+ game_em.any_player_moving = FALSE;
+ game_em.last_moving_player = 0; /* default: first player */