diff --git a/src/kernel/curse.c b/src/kernel/curse.c index 27188e2ce..7f571ee36 100644 --- a/src/kernel/curse.c +++ b/src/kernel/curse.c @@ -316,6 +316,20 @@ const curse_type *ct_find(const char *c) return NULL; } +void ct_checknames() { + int i, qi; + quicklist *ctl; + + for (i = 0; i < 256; ++i) { + ctl = cursetypes[i]; + for (qi = 0; ctl; ql_advance(&ctl, &qi, 1)) { + curse_type *type = (curse_type *)ql_get(ctl, qi); + curse_name(type, default_locale); + + } + } +} + /* ------------------------------------------------------------- */ /* get_curse identifiziert eine Verzauberung über die ID und gibt * einen pointer auf die struct zurück. diff --git a/src/kernel/curse.h b/src/kernel/curse.h index b98b8601c..8e61dba55 100644 --- a/src/kernel/curse.h +++ b/src/kernel/curse.h @@ -288,6 +288,7 @@ extern "C" { int find_cursebyname(const char *c); const curse_type *ct_find(const char *c); void ct_register(const curse_type *); + void ct_checknames(void); /* Regionszauber */ curse *cfindhash(int i); diff --git a/src/reports.c b/src/reports.c index c32902df0..4339e4fea 100644 --- a/src/reports.c +++ b/src/reports.c @@ -1841,8 +1841,14 @@ static void write_script(FILE * F, const faction * f) fputc('\n', F); } +static void check_messages_exist(void) { + ct_checknames(); +} + int init_reports(void) { + check_messages_exist(); + prepare_reports(); { if (_access(reportpath(), 0) != 0) {