home · contact · privacy
Fix client crashing due to GOD_MOOD removal.
[plomrogue] / src / client / io.c
index 54b65c2b438ce73e97da7f0819678f75bd60523e..13a3bee884eb5115b602eb5a7422b22bd04ebd30 100644 (file)
@@ -185,6 +185,7 @@ static uint8_t read_worldstate()
     uint32_t linemax = textfile_width(file);
     char * read_buf = try_malloc(linemax + 1, __func__);
     world.turn = (uint16_t) read_value_from_line(read_buf, linemax, file);
+    world.godsfavor = (int16_t) read_value_from_line(read_buf, linemax, file); //
     world.player_lifepoints = (uint16_t) read_value_from_line(read_buf, linemax,
                                                               file);
     world.player_satiation = (int16_t) read_value_from_line(read_buf, linemax,
@@ -195,6 +196,8 @@ static uint8_t read_worldstate()
     world.map.length = (uint16_t) read_value_from_line(read_buf, linemax, file);
     read_map_cells(file, &world.map.cells);
     read_map_cells(file, &world.mem_map);
+    read_map_cells(file, &world.meta_map_0);  //
+    read_map_cells(file, &world.meta_map_1);  //
     free(read_buf);
     try_fclose(file, __func__);
     return 1;
@@ -207,25 +210,26 @@ static void test_and_poll_server()
     static time_t last_server_answer_time = 0;
     static time_t last_pong_time = 0;
     static uint8_t ping_sent = 0;
+    uint8_t wait = 15;
     if (read_file_into_queue(world.file_server_out, &world.queue))
     {
         last_server_answer_time = time(0);
         return;
     }
     time_t now = time(0);
-    if (ping_sent && last_server_answer_time > now - 5)  /* Re-set if last    */
+    if (ping_sent && last_server_answer_time > now - wait)/* Re-set if last   */
     {                                                    /* ping was answered */
         ping_sent = 0;                                   /* with server       */
         return;                                          /* activity.         */
     }
-    if (!ping_sent && last_server_answer_time < now - 5)
+    if (!ping_sent && last_server_answer_time < now - wait)
     {
         send("PING");
         ping_sent = 1;
         last_pong_time = now;
         return;
     }
-    exit_err(ping_sent && last_pong_time < now - 5, "Server not answering.");
+    exit_err(ping_sent && last_pong_time < now - wait, "Server not answering.");
 }
 
 
@@ -276,6 +280,7 @@ static uint8_t read_queue()
             {
                 nl_append_string("(none known)", &world.things_here);
             }
+            world.things_here_scroll = 0;  //
         }
         else if (things_here_parsing)
         {