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)
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;
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);