diff --git a/conf/e2/config.json b/conf/e2/config.json index ce823a33d..ca157f501 100644 --- a/conf/e2/config.json +++ b/conf/e2/config.json @@ -8,8 +8,6 @@ "jsreport" ], "settings": { - "game.id": 2, - "game.name": "Eressea", "orders.default": "work", "NewbieImmunity": 8, "modules.wormholes": true, diff --git a/conf/e2/config.xml b/conf/e2/config.xml index 8389ba470..56c622d04 100644 --- a/conf/e2/config.xml +++ b/conf/e2/config.xml @@ -52,16 +52,4 @@ - - - Bitte denke daran, deine Befehle mit dem Betreff - ERESSEA 2 BEFEHLE an eressea-server@eressea.kn-bremen.de zu senden. - Remember to send your orders to - eressea-server@eressea.kn-bremen.de with the subject ERESSEA 2 ORDERS. - - - ERESSEA 2 BEFEHLE - ERESSEA 2 ORDERS - - diff --git a/conf/e3/config.json b/conf/e3/config.json index 30bc7e599..fd533070e 100644 --- a/conf/e3/config.json +++ b/conf/e3/config.json @@ -25,8 +25,6 @@ "jsreport" ], "settings": { - "game.id": 3, - "game.name": "E3", "orders.default": "work", "database.gameid": 7, "NewbieImmunity": 4, diff --git a/conf/e3/config.xml b/conf/e3/config.xml index 35716f332..ac05d5a5a 100644 --- a/conf/e3/config.xml +++ b/conf/e3/config.xml @@ -36,16 +36,4 @@ - - - Bitte denke daran, deine Befehle mit dem Betreff - ERESSEA 3 BEFEHLE an eressea-server@eressea.kn-bremen.de zu senden. - Remember to send your orders to - eressea-server@eressea.kn-bremen.de with the subject E3 ORDERS. - - - ERESSEA 3 BEFEHLE - ERESSEA 3 ORDERS - - diff --git a/conf/e4/config.json b/conf/e4/config.json index cbe273af6..91961258a 100644 --- a/conf/e4/config.json +++ b/conf/e4/config.json @@ -25,8 +25,6 @@ "jsreport" ], "settings": { - "game.id": 4, - "game.name": "Deveron", "orders.default": "work", "database.gameid": 7, "NewbieImmunity": 4, diff --git a/conf/e4/config.xml b/conf/e4/config.xml index ac962202c..f9ede1a27 100644 --- a/conf/e4/config.xml +++ b/conf/e4/config.xml @@ -36,16 +36,4 @@ - - - Bitte denke daran, deine Befehle mit dem Betreff - ERESSEA 4 BEFEHLE an eressea-server@eressea.kn-bremen.de zu senden. - Remember to send your orders to - eressea-server@eressea.kn-bremen.de with the subject ERESSEA 4 ORDERS. - - - ERESSEA 4 BEFEHLE - ERESSEA 4 ORDERS - - diff --git a/res/core/de/strings.xml b/res/core/de/strings.xml index b23d44ffb..bccfdd165 100644 --- a/res/core/de/strings.xml +++ b/res/core/de/strings.xml @@ -6,6 +6,10 @@ _x: preposition (15 /Schlumpf/schwerter) _a: including article (ein Schlumpf, a smurf) --> + + BEFEHLE + ORDERS + Wirbel vortex diff --git a/res/core/messages.xml b/res/core/messages.xml index 130b58d03..6892ec4e5 100644 --- a/res/core/messages.xml +++ b/res/core/messages.xml @@ -1,5 +1,15 @@ + + + + + + Bitte denke daran, deine Befehle mit dem Betreff + $subject an $email zu senden. + Remember to send your orders to + $email with the subject ${subject}. + diff --git a/res/e3a/equipment.xml b/res/e3a/equipment.xml index bbd2ac5b7..9fe133f48 100644 --- a/res/e3a/equipment.xml +++ b/res/e3a/equipment.xml @@ -1,78 +1,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/eressea/e2/init.lua b/scripts/eressea/e2/init.lua index ed996c395..722078741 100644 --- a/scripts/eressea/e2/init.lua +++ b/scripts/eressea/e2/init.lua @@ -11,7 +11,7 @@ return { require('eressea.tunnels'), require('eressea.ponnuki'), require('eressea.astral'), - require('eressea.locales'), +-- require('eressea.locales'), require('eressea.jsreport'), require('eressea.ents'), require('eressea.cursed') diff --git a/src/creport.c b/src/creport.c index 34cff9de3..e8e401190 100644 --- a/src/creport.c +++ b/src/creport.c @@ -1510,9 +1510,7 @@ report_computer(const char *filename, report_context * ctx, const char *bom) fprintf(F, "%d;Zeitalter\n", era); fprintf(F, "\"%s\";Build\n", eressea_version()); if (mailto != NULL) { - // char mailcmd[64]; - // snprintf(mailcmd, sizeof(mailcmd), "%s %d, %s", game_name(), game_id(), LOC(f->locale, "mailcmd")); - const char * mailcmd = LOC(f->locale, "mailcmd"); + const char * mailcmd = get_mailcmd(f->locale); fprintf(F, "\"%s\";mailto\n", mailto); fprintf(F, "\"%s\";mailcmd\n", mailcmd); } diff --git a/src/kernel/config.c b/src/kernel/config.c index 88130056b..403c80050 100644 --- a/src/kernel/config.c +++ b/src/kernel/config.c @@ -803,12 +803,25 @@ void free_gamedata(void) } } -const char * game_name(void) { +const char * game_name(void) +{ const char * param = config_get("game.name"); return param ? param : global.gamename; } +const char * game_name_upper(void) +{ + static char result[32]; // FIXME: static result + char *r = result; + const char *param = game_name(); + const char *c = param; + while (*c && (result+sizeof(result))>r) { + *r++ = (char)toupper(*c++); + } + *r = '\0'; + return result; +} + int game_id(void) { return config_get_int("game.id", 0); } - diff --git a/src/kernel/config.h b/src/kernel/config.h index 2c761ab9d..43189400c 100644 --- a/src/kernel/config.h +++ b/src/kernel/config.h @@ -50,6 +50,7 @@ extern "C" { param_t getparam(const struct locale *lang); const char * game_name(void); + const char * game_name_upper(void); int game_id(void); /* returns a value between [0..xpct_2], generated with two dice */ diff --git a/src/kernel/config.test.c b/src/kernel/config.test.c index 719ff840e..ca362d6a1 100644 --- a/src/kernel/config.test.c +++ b/src/kernel/config.test.c @@ -244,6 +244,8 @@ static void test_config_inifile(CuTest *tc) { iniparser_set(ini, "game:name", "Eressea"); config_set_from(ini); CuAssertStrEquals(tc, "Eressea", config_get("game.name")); + CuAssertStrEquals(tc, "Eressea", game_name()); + CuAssertStrEquals(tc, "ERESSEA", game_name_upper()); CuAssertIntEquals(tc, 42, game_id()); iniparser_freedict(ini); test_cleanup(); diff --git a/src/report.c b/src/report.c index 3c15f54f4..a37c38bf8 100644 --- a/src/report.c +++ b/src/report.c @@ -2081,19 +2081,24 @@ report_plaintext(const char *filename, report_context * ctx, } if (f->age <= 2) { - const char *s; - s = locale_getstring(f->locale, "newbie_info_game"); - if (s) { - newline(out); - centre(out, s, true); + const char *email; + const char *subject; + email = config_get("game.email"); + subject = get_mailcmd(f->locale); + m = msg_message("newbie_info_game", "email subject", email, subject); + if (m) { + nr_render(m, f->locale, buf, sizeof(buf), f); + msg_release(m); + centre(out, buf, true); } if ((f->options & want(O_COMPUTER)) == 0) { - f->options |= want(O_COMPUTER); + const char *s; s = locale_getstring(f->locale, "newbie_info_cr"); if (s) { newline(out); centre(out, s, true); } + f->options |= want(O_COMPUTER); } } newline(out); diff --git a/src/reports.c b/src/reports.c index 0da8aed94..c6df944a3 100644 --- a/src/reports.c +++ b/src/reports.c @@ -1945,6 +1945,13 @@ static void eval_regions(struct opstack **stack, const void *userdata) opush(stack, var); } +const char *get_mailcmd(const struct locale *loc) +{ + static char result[64]; // FIXME: static return buffer + snprintf(result, sizeof(result), "%s %d %s", game_name_upper(), game_id(), LOC(loc, "mailcmd")); + return result; +} + static void eval_trail(struct opstack **stack, const void *userdata) { /* order -> string */ const faction *report = (const faction *)userdata; diff --git a/src/reports.h b/src/reports.h index 99dd7ebf6..cc197bed4 100644 --- a/src/reports.h +++ b/src/reports.h @@ -129,6 +129,7 @@ extern "C" { int stream_printf(struct stream * out, const char *format, ...); int count_travelthru(struct region *r, const struct faction *f); + const char *get_mailcmd(const struct locale *loc); #define GR_PLURAL 0x01 /* grammar: plural */ #define MAX_INVENTORY 128 /* maimum number of different items in an inventory */ diff --git a/tests/eressea.ini b/tests/eressea.ini index e84171d45..faf4b1b9e 100644 --- a/tests/eressea.ini +++ b/tests/eressea.ini @@ -1,10 +1,8 @@ -[eressea] -base = . -report = reports +[game] +name = Eressea +id = 2 +email = eressea-server@kn-bremen.de verbose = 0 -lomem = 0 -debug = 0 -memcheck = 0 locales = de,en [lua]