#include <stdlib.h>
#include <stdio.h>
#include "cartograph.h"
#include "utils.h"
#include "tokendb.h"
#include "parse.h"
void input_params(int argc, char *argv[], struct argrec *arg)
{
char buf[100];
if (argc > 1)
strcpy(arg->mapfile, argv[1]);
else {
printf("Please enter the name of the drawing file:\n");
gets(arg->mapfile);
}
if (argc > 2)
arg->start_room = atol(argv[2]);
else {
printf("Please enter the virtual number of the first room:\n");
scanf("%ld", &arg->start_room);
}
if (argc > 3)
strcpy(buf, argv[3]);
else {
printf("Please enter the default room flag value:\n");
scanf("%s", buf);
}
if ((arg->default_flags = decipher_flag_text(buf)) < 0) {
error("Illegal default room flag\n");
exit(1);
}
}
void init(int argc, char *argv[], struct argrec *arg)
{
init_tokendb(argv[0]);
input_params(argc, argv, arg);
init_map(arg->mapfile);
}
void shutdown()
{
/* print_token_list(); */
free_all_tokens();
}
int main(int argc, char *argv[])
{
struct argrec arg;
init(argc, argv, &arg);
parse_map(arg.default_flags);
save_map(arg.mapfile, arg.start_room);
shutdown();
return(0);
}