home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't abort replay on last turn.
[plomrogue]
/
roguelike.c
diff --git
a/roguelike.c
b/roguelike.c
index aef863e532f071a73b7d63f320666234b755b8b2..5d4207175f9031e568bb05d0bf90ac862d1fa62a 100644
(file)
--- a/
roguelike.c
+++ b/
roguelike.c
@@
-345,16
+345,17
@@
int main (int argc, char *argv[]) {
toggle_window(&win_meta, &win_log);
int key;
toggle_window(&win_meta, &win_log);
int key;
- unsigned char
result
;
+ unsigned char
quit_called
;
if (0 == world.interactive) {
if (0 == world.interactive) {
+ unsigned char still_reading_file = 1;
int action;
while (1) {
draw_all_windows (&win_meta);
key = getch();
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)
action = getc(file);
if (EOF == action)
-
break
;
+
still_reading_file = 0
;
else if (0 == action)
player_wait (&world);
else if ('s' == action)
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
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;
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
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);
break; } }
free(map.cells);