diff options
| -rw-r--r-- | main.c | 28 |
1 files changed, 27 insertions, 1 deletions
@@ -66,6 +66,8 @@ int main(int argc, char **argv) { size_t mwidth = 20; /* Maze width */ size_t mheight = 10; /* Maze height */ + char filename[FILENAME_BUF_SIZE] = "\0"; + char is_maze = 0; char bmp_only = 0; char *bmp_filename = NULL; @@ -232,7 +234,6 @@ int main(int argc, char **argv) { set_message(FILENAME_PROMPT); print_message(height); - char filename[FILENAME_BUF_SIZE] = "out.bmp"; mvgetnstr(height + map_offset_y + 1, map_offset_x - 2 + sizeof(FILENAME_PROMPT), filename, FILENAME_BUF_SIZE - 1); map_to_bmp(map, width, height, start_pos, end_pos, path, visited, filename); @@ -243,6 +244,31 @@ int main(int argc, char **argv) { getch(); break; + case 'w': /* FIXME: Keys don't make any sense anymore. 'o' should be open. And do them through defines for god's sake */ + is_maze = 0; + curs_set(2); /* Show the cursor */ + echo(); /* Echo characters */ + + set_message(FILENAME_PROMPT); + print_message(height); + char filename[FILENAME_BUF_SIZE] = "\0"; + mvgetnstr(height + map_offset_y + 1, map_offset_x - 2 + sizeof(FILENAME_PROMPT), filename, FILENAME_BUF_SIZE - 1); + + map_free(map, height); + path_free(path, height); + visited = visited_new(width, height); + + map = file_plaintext_map(filename, &width, &height, &start_pos, &end_pos); + visited = visited_new(width, height); + path = path_func(dirs, map, width, height, start_pos, end_pos, visited, anim); + + set_message("Loaded map from %s", filename); print_message(height); + + curs_set(0); /* Hide the cursor */ + noecho(); /* Don't echo characters */ + + break; + case 'n': if (is_maze) { map_free(map, height); |
