X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=roguelike.c;h=5d4207175f9031e568bb05d0bf90ac862d1fa62a;hb=2f4691b20aaf36f0eb5bc9e4830eabcf74fabed2;hp=aef863e532f071a73b7d63f320666234b755b8b2;hpb=5412e81a7b206b84e82c73ff322e0f34db71dcf3;p=plomrogue diff --git a/roguelike.c b/roguelike.c index aef863e..5d42071 100644 --- a/roguelike.c +++ b/roguelike.c @@ -345,16 +345,17 @@ int main (int argc, char *argv[]) { toggle_window(&win_meta, &win_log); int key; - unsigned char result; + unsigned char quit_called; if (0 == world.interactive) { + unsigned char still_reading_file = 1; int action; while (1) { draw_all_windows (&win_meta); key = getch(); - if (key == get_action_key(world.keybindings, "wait / next turn") ) { + if (1 == still_reading_file && key == get_action_key(world.keybindings, "wait / next turn") ) { action = getc(file); if (EOF == action) - break; + still_reading_file = 0; else if (0 == action) player_wait (&world); else if ('s' == action) @@ -366,8 +367,8 @@ int main (int argc, char *argv[]) { else if ('w' == action) move_player(&world, 'w'); } else - result = meta_keys(key, &world, &win_meta, &win_keys, &win_map, &win_info, &win_log); - if (1 == result) + quit_called = meta_keys(key, &world, &win_meta, &win_keys, &win_map, &win_info, &win_log); + if (1 == quit_called) break; } } else { uint32_t last_turn = 0; @@ -388,8 +389,8 @@ int main (int argc, char *argv[]) { else if (key == get_action_key(world.keybindings, "wait / next turn")) player_wait (&world); else - result = meta_keys(key, &world, &win_meta, &win_keys, &win_map, &win_info, &win_log); - if (1 == result) + quit_called = meta_keys(key, &world, &win_meta, &win_keys, &win_map, &win_info, &win_log); + if (1 == quit_called) break; } } free(map.cells);