rnd-19981108-2
[rocksndiamonds.git] / src / network.c
index 28a7d892925fddf13bf43153a15c13856c3df75d..890f405f91662423040114fc731f1db90c322af7 100644 (file)
@@ -62,7 +62,7 @@ int nread = 0, nwrite = 0;
 
 static void sysmsg(char *s)
 {
-  if (verbose)
+  if (options.verbose)
   {
     printf("** %s\n", s);
     fflush(stdout);
@@ -88,7 +88,7 @@ static void flushbuf()
 
 static void sendbuf(int len)
 {
-  if (network)
+  if (options.network)
   {
     realbuf[0] = realbuf[1] = realbuf[2] = 0;
     realbuf[3] = (unsigned char)len;
@@ -139,15 +139,15 @@ static void StartNetworkServer(int port)
   switch (fork())
   {
     case 0:
-      NetworkServer(port, serveronly);
+      NetworkServer(port, options.serveronly);
 
       /* never reached */
       exit(0);
 
     case -1:
-      Error(ERR_RETURN,
+      Error(ERR_WARN,
            "cannot create network server process - no network games");
-      network = FALSE;
+      options.network = FALSE;
       return;
 
     default:
@@ -156,7 +156,7 @@ static void StartNetworkServer(int port)
   }
 }
 
-BOOL ConnectToServer(char *host, int port)
+boolean ConnectToServer(char *host, int port)
 {
   struct hostent *hp;
   struct sockaddr_in s;
@@ -303,7 +303,7 @@ void SendToServer_MovePlayer(byte player_action)
 
 static void Handle_OP_BAD_PROTOCOL_VERSION()
 {
-  Error(ERR_RETURN, "protocol version mismatch");
+  Error(ERR_WARN, "protocol version mismatch");
   Error(ERR_EXIT, "server expects %d.%d.x instead of %d.%d.%d",
        buf[2], buf[3], PROT_VERS_1, PROT_VERS_2, PROT_VERS_3);
 }
@@ -324,7 +324,6 @@ static void Handle_OP_YOUR_NUMBER()
 
     *new_local_player = *old_local_player;
     old_local_player->connected = FALSE;
-    old_local_player->local = FALSE;
 
     local_player = new_local_player;
   }
@@ -373,7 +372,6 @@ static void Handle_OP_NUMBER_WANTED()
 
       *new_player = *old_player;
       old_player->connected = FALSE;
-      old_player->local = FALSE;
     }
 
     u = finduser(old_client_nr);
@@ -480,25 +478,39 @@ static void Handle_OP_START_PLAYING()
 
 
   if (strcmp(leveldir[new_leveldir_nr].name, new_leveldir_name) != 0)
-    Error(ERR_RETURN, "no such level directory: '%s'",new_leveldir_name);
+    Error(ERR_WARN, "no such level directory: '%s'",new_leveldir_name);
 
   leveldir_nr = new_leveldir_nr;
 
+  /*
   local_player->leveldir_nr = leveldir_nr;
+  */
+
+
+  /*
+  SaveLevelSetup();
+  */
+
+  /*
   LoadPlayerInfo(PLAYER_LEVEL);
   SavePlayerInfo(PLAYER_SETUP);
+  */
+
 
   level_nr = new_level_nr;
 
   TapeErase();
-  LoadLevelTape(level_nr);
+  LoadTape(level_nr);
 
+  /*
   GetPlayerConfig();
+  */
+
   LoadLevel(level_nr);
 
 
 
-  if (autorecord_on)
+  if (setup.autorecord)
     TapeStartRecording();
 
 
@@ -568,7 +580,7 @@ static void Handle_OP_MOVE_FIGURE(unsigned int len)
 
   /* copy valid player actions */
   for (i=0; i<MAX_PLAYERS; i++)
-    network_player_action[i] =
+    stored_player[i].effective_action =
       (i < len - 6 && stored_player[i].active ? buf[6 + i] : 0);
 
   network_player_action_received = TRUE;