X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fclient%2Fio.c;h=27a0e0f46d623fc2b31be94c074a2c953d61becb;hb=eb96a1dfe83cef7f3d1c0c73e03b915caca09db8;hp=4623b3d89bbe4e6aa1912c24b8acdec649637b34;hpb=316a56901b2249264b72992fd5aa63ce16fd3304;p=plomrogue diff --git a/src/client/io.c b/src/client/io.c index 4623b3d..27a0e0f 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,14 @@ 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_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;