X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fclient%2Fio.c;h=a4dc7f321b6e764714fc52410f0c32f51fc68d37;hb=f901f7a2fb8db4ec7b1a2497d79677de06dea0a5;hp=4623b3d89bbe4e6aa1912c24b8acdec649637b34;hpb=316a56901b2249264b72992fd5aa63ce16fd3304;p=plomrogue
diff --git a/src/client/io.c b/src/client/io.c
index 4623b3d..a4dc7f3 100644
--- a/src/client/io.c
+++ b/src/client/io.c
@@ -15,10 +15,10 @@
#include "../common/try_malloc.h" /* try_malloc() */
#include "../common/rexit.h" /* exit_trouble(), exit_err() */
#include "../common/readwrite.h" /* try_fopen(), try_fclose(), try_fgets(),
- * try_fgetc()
+ * try_fgetc(), textfile_width()
*/
#include "control.h" /* try_key() */
-#include "map_window.h" /* map_center() */
+#include "map.h" /* map_center() */
#include "misc.h" /* reset_windows() */
#include "windows.h" /* reset_windows_on_winch(), draw_all_wins() */
#include "world.h" /* world global */
@@ -67,8 +67,8 @@ static FILE * changed_server_out_file(char * path);
* a hard-coded serialization format. Returns 1 on success and 0 if the out file
* wasn't read for supposedly not having changed since a last read_world() call.
*
- * Note that the first successful read_world() triggers map_center(), so that on
- * start the client focuses the map window on the player.
+ * map_center() is triggered by the first successful read_world() or on turn 1,
+ * so the client focuses the map window on the player on client and world start.
*/
static uint8_t read_world();
@@ -193,15 +193,15 @@ static uint8_t read_world()
{
return 0;
}
- uint32_t linemax = textfile_sizes(file, NULL);
+ uint32_t linemax = textfile_width(file);
char * read_buf = try_malloc(linemax + 1, f_name);
world.turn = read_value_from_line(read_buf, linemax, file);
- world.score = read_value_from_line(read_buf, linemax, file);
+ world.player_score = read_value_from_line(read_buf, linemax, file);
world.player_lifepoints = read_value_from_line(read_buf, linemax, file);
read_inventory(read_buf, linemax, file);
world.player_pos.y = read_value_from_line(read_buf, linemax, file);
world.player_pos.x = read_value_from_line(read_buf, linemax, file);
- if (first_read)
+ if (1 == world.turn || first_read)
{
map_center();
first_read = 0;