diff --git a/src/common/gamecode/creport.c b/src/common/gamecode/creport.c index d2e40ef48..7b7157d68 100644 --- a/src/common/gamecode/creport.c +++ b/src/common/gamecode/creport.c @@ -1535,3 +1535,18 @@ report_computer(FILE * F, faction * f, struct seen_region ** seen, const faction } return 0; } + +int +crwritemap(const char * filename) +{ + FILE * F = fopen(filename, "w+"); + region * r; + for (r=regions;r;r=r->next) { + plane * p = rplane(r); + fprintf(F, "REGION %d %d %d\n", r->x, r->y, p?p->id:0); + fprintf(F, "\"%s\";Name\n\"%s\";Terrain\n", rname(r, default_locale), LOC(default_locale, terrain[rterrain(r)].name)); + } + fclose(F); + return 0; +} + diff --git a/src/common/gamecode/creport.h b/src/common/gamecode/creport.h index 0a45183ea..22ab78b85 100644 --- a/src/common/gamecode/creport.h +++ b/src/common/gamecode/creport.h @@ -28,6 +28,8 @@ extern void creport_init(void); extern void report_init(void); extern void report_cleanup(void); +extern int crwritemap(const char * filename); + #ifdef __cplusplus } #endif diff --git a/src/eressea/lua/eressea.cpp b/src/eressea/lua/eressea.cpp index 92cb56802..44c91fa98 100644 --- a/src/eressea/lua/eressea.cpp +++ b/src/eressea/lua/eressea.cpp @@ -10,6 +10,7 @@ // gamecode includes #include #include +#include // kernel includes #include @@ -214,6 +215,7 @@ bind_eressea(lua_State * L) def("atoi36", &atoi36), def("itoa36", &itoa36), def("read_game", &read_game), + def("write_map", &crwritemap), def("write_game", &write_game), def("write_passwords", &writepasswd), def("init_reports", &init_reports), diff --git a/src/eressea/main.c b/src/eressea/main.c index 09f17e026..8cf1b7615 100644 --- a/src/eressea/main.c +++ b/src/eressea/main.c @@ -143,20 +143,6 @@ struct settings global = { 1000, /* maxunits */ }; -static int -crwritemap(void) -{ - FILE * F = fopen("world.cr", "w+"); - region * r; - for (r=regions;r;r=r->next) { - plane * p = rplane(r); - fprintf(F, "REGION %d %d %d\n", r->x, r->y, p?p->id:0); - fprintf(F, "\"%s\";Name\n\"%s\";Terrain\n", rname(r, default_locale), LOC(default_locale, terrain[rterrain(r)].name)); - } - fclose(F); - return 0; -} - static void game_init(void) { @@ -651,7 +637,7 @@ main(int argc, char *argv[]) } if (g_writemap) { - return crwritemap(); + return crwritemap("world.cr"); } if (turn == 0) srand((int)time(0)); diff --git a/src/todo.txt b/src/todo.txt index c9e7d8e82..b59d669cc 100644 --- a/src/todo.txt +++ b/src/todo.txt @@ -1,28 +1,15 @@ TODO: -parteien- oder gruppenweises aftermath-markieren. - XUL for Eressea -weights in item descriptions - [11:01] am besten wäre, wenn mailit nur die optionen, nicht das ganze script enthielte [11:01] und ein skript dann mailit als input nähme [11:02] also nur enno@eressea.upb.de pka3 BZIP2 nr cr zv Deathcloud: Magieresistenz des Magiers in das attribut, nicht auflösen wenn magier tot. -Messungen: - Messen, was CR alleine kostet. - Messen, was no-ZV bringt. Zugvorlage abstellen. - Conan: - Auswertung 0:30 h - Verpacken: 1:35 h - error handling in lua/luabind? -mapper: parteien sofort aussetzen. - english registration confirmation is deutsch! NO_RUNNING @@ -43,8 +30,6 @@ getstrtoken() - das static loswerden R_PERSON fix in vin2? -calendar in XML - unterschiede in vin3 + wdw per config statt defines? #define NEWATSROI 1