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]