aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWeblate <42@minetest.ru>2013-02-02 21:34:12 +0400
committerWeblate <42@minetest.ru>2013-02-02 21:34:12 +0400
commit1d248cce30105a66a411d327b5400f37a35db3b9 (patch)
treee489f681757416b8b9ab3c965689fb50a5a73d9c
parentc33654c21ab13b072baadc65a72d31ae839ceec8 (diff)
parent6424c5b69809ad4799c08e93dd8cbdb13547da1c (diff)
downloadminetest-1d248cce30105a66a411d327b5400f37a35db3b9.tar.gz
minetest-1d248cce30105a66a411d327b5400f37a35db3b9.tar.bz2
minetest-1d248cce30105a66a411d327b5400f37a35db3b9.zip
Merge remote branch 'origin/master'
-rw-r--r--po/da/minetest.po126
-rw-r--r--po/de/minetest.po134
-rw-r--r--po/es/minetest.po90
-rw-r--r--po/fr/minetest.po90
-rw-r--r--po/it/minetest.po108
-rw-r--r--po/minetest.pot92
-rw-r--r--po/pl/minetest.po90
-rw-r--r--po/pt/minetest.po729
-rw-r--r--po/ro/minetest.po92
-rw-r--r--po/ru/minetest.po90
-rw-r--r--po/zh_CN/minetest.po729
-rw-r--r--src/guiKeyChangeMenu.cpp34
-rw-r--r--src/map.cpp35
-rw-r--r--src/map.h8
-rw-r--r--src/mapgen.cpp177
-rw-r--r--src/mapgen.h136
-rw-r--r--src/mapgen_v6.cpp22
-rw-r--r--src/mapgen_v6.h141
-rw-r--r--src/porting.h18
-rw-r--r--src/server.cpp13
-rw-r--r--src/util/string.cpp25
-rw-r--r--src/util/string.h1
22 files changed, 2496 insertions, 484 deletions
diff --git a/po/da/minetest.po b/po/da/minetest.po
index 9b25cdefe..48a4bc187 100644
--- a/po/da/minetest.po
+++ b/po/da/minetest.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-23 18:24+0200\n"
+"POT-Creation-Date: 2013-01-30 20:25+0100\n"
"PO-Revision-Date: 2011-08-02 00:31+0100\n"
"Last-Translator: Frederik Helth <Guides@live.dk>\n"
"Language-Team: \n"
@@ -16,36 +16,36 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr ""
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
#, fuzzy
msgid "Enable All"
msgstr "Tag imod skade"
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr ""
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr ""
@@ -125,6 +125,75 @@ msgstr ""
msgid "press key"
msgstr "Tryk knap"
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr "Frem"
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr "Tilbage"
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr "Venstre"
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr "Højre"
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr "Brug"
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr "Hop"
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr "Snig"
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr "Ting"
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr "Chat"
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr "Flyvning"
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr "Hurtig flyvning"
+
+#: src/guiKeyChangeMenu.cpp:386
+#, fuzzy
+msgid "Toggle noclip"
+msgstr "Flyvning"
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr "Afstands load"
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr "Print stykker"
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr ""
@@ -467,18 +536,10 @@ msgid "Execute"
msgstr ""
#: src/keycode.cpp:228
-msgid "Left"
-msgstr "Venstre"
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr ""
#: src/keycode.cpp:228
-msgid "Right"
-msgstr "Højre"
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr "Vælge"
@@ -679,36 +740,3 @@ msgstr ""
#~ msgid "Delete map"
#~ msgstr "Slet mappen"
-
-#~ msgid "Print stacks"
-#~ msgstr "Print stykker"
-
-#~ msgid "Range select"
-#~ msgstr "Afstands load"
-
-#~ msgid "Toggle fast"
-#~ msgstr "Hurtig flyvning"
-
-#~ msgid "Toggle fly"
-#~ msgstr "Flyvning"
-
-#~ msgid "Chat"
-#~ msgstr "Chat"
-
-#~ msgid "Inventory"
-#~ msgstr "Ting"
-
-#~ msgid "Jump"
-#~ msgstr "Hop"
-
-#~ msgid "Sneak"
-#~ msgstr "Snig"
-
-#~ msgid "Use"
-#~ msgstr "Brug"
-
-#~ msgid "Backward"
-#~ msgstr "Tilbage"
-
-#~ msgid "Forward"
-#~ msgstr "Frem"
diff --git a/po/de/minetest.po b/po/de/minetest.po
index 13c984bd7..4d756a06b 100644
--- a/po/de/minetest.po
+++ b/po/de/minetest.po
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 1.4-dev\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
@@ -26,7 +26,7 @@ msgstr ""
"Warnung: Einige Mods sind noch nicht konfiguriert.\n"
"Sie werden aktiviert wenn die Konfiguration gespeichert wird. "
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
@@ -34,23 +34,23 @@ msgstr ""
"Warnung: Einige konfigurierte Mods fehlen.\n"
"Mod Einstellungen werden gelöscht wenn die Konfiguration gespeichert wird. "
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr "Aktiviert"
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
msgid "Enable All"
msgstr "Alle an"
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr "Alle aus"
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr "abhängig von:"
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr "wird benötigt von:"
@@ -128,13 +128,84 @@ msgstr "Taste bereits in Benutzung"
msgid "press key"
msgstr "Taste drücken"
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr "Vorwärts"
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr "Rückwärts"
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr "Links"
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr "Rechts"
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr "Benutzen"
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr "Springen"
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr "Kriechen"
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr "Inventar"
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr "Chat"
+
+#: src/guiKeyChangeMenu.cpp:382
+#, fuzzy
+msgid "Command"
+msgstr "Komma"
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr "Fliegen umsch."
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr "Speed umsch."
+
+#: src/guiKeyChangeMenu.cpp:386
+#, fuzzy
+msgid "Toggle noclip"
+msgstr "Fliegen umsch."
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr "Entfernung wählen"
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr "Stack ausgeben"
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr "Kann Welt nicht erstellen: Name enthält ungülige Zeichen"
#: src/guiMainMenu.cpp:64
msgid "Cannot create world: A world by this name already exists"
-msgstr "Kann Welt nicht erstellen: Eine Welt mit diesem Namen existiert bereits"
+msgstr ""
+"Kann Welt nicht erstellen: Eine Welt mit diesem Namen existiert bereits"
#: src/guiMainMenu.cpp:245
msgid "Singleplayer"
@@ -474,18 +545,10 @@ msgid "Execute"
msgstr "Ausführen"
#: src/keycode.cpp:228
-msgid "Left"
-msgstr "Links"
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr "Druck"
#: src/keycode.cpp:228
-msgid "Right"
-msgstr "Rechts"
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr "Selektiere"
@@ -685,41 +748,8 @@ msgstr ""
"\n"
"Siehe debug.txt für Details."
-#~ msgid "Delete map"
-#~ msgstr "Karte löschen"
-
-#~ msgid "Print stacks"
-#~ msgstr "Stack ausgeben"
-
-#~ msgid "Range select"
-#~ msgstr "Entfernung wählen"
-
-#~ msgid "Toggle fast"
-#~ msgstr "Speed umsch."
-
-#~ msgid "Toggle fly"
-#~ msgstr "Fliegen umsch."
-
-#~ msgid "Chat"
-#~ msgstr "Chat"
-
-#~ msgid "Inventory"
-#~ msgstr "Inventar"
-
-#~ msgid "Jump"
-#~ msgstr "Springen"
-
-#~ msgid "Sneak"
-#~ msgstr "Kriechen"
-
-#~ msgid "Use"
-#~ msgstr "Benutzen"
-
-#~ msgid "Backward"
-#~ msgstr "Rückwärts"
-
-#~ msgid "Forward"
-#~ msgstr "Vorwärts"
-
#~ msgid "KEYBINDINGS"
#~ msgstr "TASTEN EINST."
+
+#~ msgid "Delete map"
+#~ msgstr "Karte löschen"
diff --git a/po/es/minetest.po b/po/es/minetest.po
index dc5861ccc..10e34fc77 100644
--- a/po/es/minetest.po
+++ b/po/es/minetest.po
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 1.4-dev\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
@@ -26,7 +26,7 @@ msgstr ""
"ADVERTENCIA: Algunos mods no están configurados todavía.\n"
"Se habilitará de forma predeterminada al guardar la configuración. "
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
@@ -34,23 +34,23 @@ msgstr ""
"ADVERTENCIA: Algunos mods configurados faltan.\n"
"Su ajuste se quitará cuando se guarda la configuración. "
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr "Activado"
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
msgid "Enable All"
msgstr "Activar todos"
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr "Deshabilitar"
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr "Dependencia:"
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr "Requiere:"
@@ -131,6 +131,74 @@ msgstr "La tecla se esta utilizando"
msgid "press key"
msgstr "Pulsa la tecla"
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr "No se puede crear el mundo: nombre contiene caracteres no válidos"
@@ -478,18 +546,10 @@ msgid "Execute"
msgstr "Ejecutar"
#: src/keycode.cpp:228
-msgid "Left"
-msgstr "Izquierda"
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr "Captura"
#: src/keycode.cpp:228
-msgid "Right"
-msgstr "Derecha"
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr "Seleccionar"
diff --git a/po/fr/minetest.po b/po/fr/minetest.po
index c49d5db37..d5c5d8eff 100644
--- a/po/fr/minetest.po
+++ b/po/fr/minetest.po
@@ -18,36 +18,36 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Weblate 1.4-dev\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr ""
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
#, fuzzy
msgid "Enable All"
msgstr "Activer blessures"
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr "dépend de:"
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr ""
@@ -126,6 +126,74 @@ msgstr "Touche déjà utilisée"
msgid "press key"
msgstr ""
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr ""
@@ -479,18 +547,10 @@ msgid "Execute"
msgstr ""
#: src/keycode.cpp:228
-msgid "Left"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr ""
#: src/keycode.cpp:228
-msgid "Right"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr ""
diff --git a/po/it/minetest.po b/po/it/minetest.po
index 58f9adc4e..b59c67f7e 100644
--- a/po/it/minetest.po
+++ b/po/it/minetest.po
@@ -18,36 +18,36 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 1.4-dev\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr ""
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
#, fuzzy
msgid "Enable All"
msgstr "Attiva Danno"
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr ""
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr ""
@@ -127,6 +127,74 @@ msgstr ""
msgid "press key"
msgstr "premi tasto"
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr "Avanti"
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr "Indietro"
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr "Sinistra"
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr "Destra"
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr "Usa"
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr "Salta"
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr "Invetario"
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr "Parla"
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr ""
@@ -480,18 +548,10 @@ msgid "Execute"
msgstr ""
#: src/keycode.cpp:228
-msgid "Left"
-msgstr "Sinistra"
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr "Stampa"
#: src/keycode.cpp:228
-msgid "Right"
-msgstr "Destra"
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr ""
@@ -692,21 +752,3 @@ msgstr ""
#~ msgid "Delete map"
#~ msgstr "Cancella mappa"
-
-#~ msgid "Chat"
-#~ msgstr "Parla"
-
-#~ msgid "Inventory"
-#~ msgstr "Invetario"
-
-#~ msgid "Jump"
-#~ msgstr "Salta"
-
-#~ msgid "Use"
-#~ msgstr "Usa"
-
-#~ msgid "Backward"
-#~ msgstr "Indietro"
-
-#~ msgid "Forward"
-#~ msgstr "Avanti"
diff --git a/po/minetest.pot b/po/minetest.pot
index 400cb5a4e..f07b816a5 100644
--- a/po/minetest.pot
+++ b/po/minetest.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-23 18:24+0200\n"
+"POT-Creation-Date: 2013-01-30 20:25+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,35 +17,35 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr ""
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
msgid "Enable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr ""
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr ""
@@ -123,6 +123,74 @@ msgstr ""
msgid "press key"
msgstr ""
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr ""
@@ -459,18 +527,10 @@ msgid "Execute"
msgstr ""
#: src/keycode.cpp:228
-msgid "Left"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr ""
#: src/keycode.cpp:228
-msgid "Right"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr ""
diff --git a/po/pl/minetest.po b/po/pl/minetest.po
index 0fa79d7b6..96c6570f1 100644
--- a/po/pl/minetest.po
+++ b/po/pl/minetest.po
@@ -19,7 +19,7 @@ msgstr ""
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 1.4-dev\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
@@ -27,7 +27,7 @@ msgstr ""
"Ostrzeżenie: Niektóre z modyfikacji nie zostały jeszcze skonfigurowane.\n"
"Zostaną domyślnie włączone gdy zapiszesz konfigurację. "
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
@@ -35,23 +35,23 @@ msgstr ""
"Ostrzeżenie: Niektóre z modyfikacji nie zostały znalezione.\n"
"Ich ustawienia zostaną usunięte gdy zapiszesz konfigurację. "
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr "włączone"
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
msgid "Enable All"
msgstr "Włącz wszystkie"
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr "Wyłącz wszystkie"
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr "zależne od:"
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr "wymagane przez:"
@@ -133,6 +133,74 @@ msgstr "Klawisz już zdefiniowany"
msgid "press key"
msgstr "naciśnij klawisz"
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr "Nie można stworzyć świata: nazwa zawiera niedozwolone znaki"
@@ -480,18 +548,10 @@ msgid "Execute"
msgstr "Execute"
#: src/keycode.cpp:228
-msgid "Left"
-msgstr "Lewo"
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr "Print"
#: src/keycode.cpp:228
-msgid "Right"
-msgstr "Prawo"
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr "Select"
diff --git a/po/pt/minetest.po b/po/pt/minetest.po
new file mode 100644
index 000000000..f07b816a5
--- /dev/null
+++ b/po/pt/minetest.po
@@ -0,0 +1,729 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: minetest\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-01-30 20:25+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/guiConfigureWorld.cpp:125
+msgid ""
+"Warning: Some mods are not configured yet.\n"
+"They will be enabled by default when you save the configuration. "
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:144
+msgid ""
+"Warning: Some configured mods are missing.\n"
+"Their setting will be removed when you save the configuration. "
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:208
+msgid "enabled"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:215
+msgid "Enable All"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:222
+msgid "Disable All"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:228
+msgid "depends on:"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:240
+msgid "is required by:"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
+#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
+msgid "Cancel"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
+msgid "Save"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:394
+msgid "Configuration saved. "
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:402
+msgid "Warning: Configuration not consistent. "
+msgstr ""
+
+#: src/guiConfirmMenu.cpp:120
+msgid "Yes"
+msgstr ""
+
+#: src/guiConfirmMenu.cpp:126
+msgid "No"
+msgstr ""
+
+#: src/guiCreateWorld.cpp:116
+msgid "World name"
+msgstr ""
+
+#: src/guiCreateWorld.cpp:135
+msgid "Game"
+msgstr ""
+
+#: src/guiCreateWorld.cpp:159
+msgid "Create"
+msgstr ""
+
+#: src/guiDeathScreen.cpp:96
+msgid "You died."
+msgstr ""
+
+#: src/guiDeathScreen.cpp:104
+msgid "Respawn"
+msgstr ""
+
+#: src/guiFormSpecMenu.cpp:572
+msgid "Left click: Move all items, Right click: Move single item"
+msgstr ""
+
+#: src/guiFormSpecMenu.cpp:597 src/guiMessageMenu.cpp:109
+#: src/guiTextInputMenu.cpp:123
+msgid "Proceed"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:114
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:151
+msgid "\"Use\" = climb down"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:164
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:269
+msgid "Key already in use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:347
+msgid "press key"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
+#: src/guiMainMenu.cpp:55
+msgid "Cannot create world: Name contains invalid characters"
+msgstr ""
+
+#: src/guiMainMenu.cpp:64
+msgid "Cannot create world: A world by this name already exists"
+msgstr ""
+
+#: src/guiMainMenu.cpp:245
+msgid "Singleplayer"
+msgstr ""
+
+#: src/guiMainMenu.cpp:246
+msgid "Multiplayer"
+msgstr ""
+
+#: src/guiMainMenu.cpp:247
+msgid "Advanced"
+msgstr ""
+
+#: src/guiMainMenu.cpp:248
+msgid "Settings"
+msgstr ""
+
+#: src/guiMainMenu.cpp:249
+msgid "Credits"
+msgstr ""
+
+#: src/guiMainMenu.cpp:280
+msgid "Select World:"
+msgstr ""
+
+#: src/guiMainMenu.cpp:302 src/guiMainMenu.cpp:449 src/keycode.cpp:229
+msgid "Delete"
+msgstr ""
+
+#: src/guiMainMenu.cpp:309
+msgid "New"
+msgstr ""
+
+#: src/guiMainMenu.cpp:317
+msgid "Configure"
+msgstr ""
+
+#: src/guiMainMenu.cpp:332 src/keycode.cpp:248
+msgid "Play"
+msgstr ""
+
+#: src/guiMainMenu.cpp:343 src/guiMainMenu.cpp:557
+msgid "Creative Mode"
+msgstr ""
+
+#: src/guiMainMenu.cpp:349 src/guiMainMenu.cpp:563
+msgid "Enable Damage"
+msgstr ""
+
+#: src/guiMainMenu.cpp:369 src/guiMainMenu.cpp:479
+msgid "Name/Password"
+msgstr ""
+
+#: src/guiMainMenu.cpp:408 src/guiMainMenu.cpp:506
+msgid "Address/Port"
+msgstr ""
+
+#: src/guiMainMenu.cpp:435 src/guiMainMenu.cpp:1075
+msgid "Show Public"
+msgstr ""
+
+#: src/guiMainMenu.cpp:439 src/guiMainMenu.cpp:1083
+msgid "Show Favorites"
+msgstr ""
+
+#: src/guiMainMenu.cpp:459
+msgid "Connect"
+msgstr ""
+
+#: src/guiMainMenu.cpp:529
+msgid "Leave address blank to start a local server."
+msgstr ""
+
+#: src/guiMainMenu.cpp:538
+msgid "Start Game / Connect"
+msgstr ""
+
+#: src/guiMainMenu.cpp:570 src/guiMainMenu.cpp:1006
+msgid "Delete world"
+msgstr ""
+
+#: src/guiMainMenu.cpp:577
+msgid "Create world"
+msgstr ""
+
+#: src/guiMainMenu.cpp:611
+msgid "Fancy trees"
+msgstr ""
+
+#: src/guiMainMenu.cpp:617
+msgid "Smooth Lighting"
+msgstr ""
+
+#: src/guiMainMenu.cpp:623
+msgid "3D Clouds"
+msgstr ""
+
+#: src/guiMainMenu.cpp:629
+msgid "Opaque water"
+msgstr ""
+
+#: src/guiMainMenu.cpp:639
+msgid "Mip-Mapping"
+msgstr ""
+
+#: src/guiMainMenu.cpp:646
+msgid "Anisotropic Filtering"
+msgstr ""
+
+#: src/guiMainMenu.cpp:653
+msgid "Bi-Linear Filtering"
+msgstr ""
+
+#: src/guiMainMenu.cpp:660
+msgid "Tri-Linear Filtering"
+msgstr ""
+
+#: src/guiMainMenu.cpp:668
+msgid "Shaders"
+msgstr ""
+
+#: src/guiMainMenu.cpp:675
+msgid "Preload item visuals"
+msgstr ""
+
+#: src/guiMainMenu.cpp:682
+msgid "Enable Particles"
+msgstr ""
+
+#: src/guiMainMenu.cpp:692
+msgid "Change keys"
+msgstr ""
+
+#: src/guiMainMenu.cpp:977
+msgid "Address required."
+msgstr ""
+
+#: src/guiMainMenu.cpp:995
+msgid "Cannot delete world: Nothing selected"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1010
+msgid "Files to be deleted"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1026
+msgid "Cannot create world: No games found"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1042
+msgid "Cannot configure world: Nothing selected"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1146
+msgid "Failed to delete all world files"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:108
+msgid "Old Password"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:125
+msgid "New Password"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:141
+msgid "Confirm Password"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:158
+msgid "Change"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:167
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:118
+msgid "Continue"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:127
+msgid "Change Password"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:135
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:142
+msgid "Exit to OS"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:149
+msgid ""
+"Default Controls:\n"
+"- WASD: Walk\n"
+"- Mouse left: dig/hit\n"
+"- Mouse right: place/use\n"
+"- Mouse wheel: select item\n"
+"- 0...9: select item\n"
+"- Shift: sneak\n"
+"- R: Toggle viewing all loaded chunks\n"
+"- I: Inventory menu\n"
+"- ESC: This menu\n"
+"- T: Chat\n"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "Left Button"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "Middle Button"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "Right Button"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "X Button 1"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Back"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Clear"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Return"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Tab"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "X Button 2"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Capital"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Control"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Kana"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Menu"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Pause"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Shift"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Convert"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Escape"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Final"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Junja"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Kanji"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Nonconvert"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Accept"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "End"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Home"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Mode Change"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Next"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Prior"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Space"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Down"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Execute"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Print"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Select"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Up"
+msgstr ""
+
+#: src/keycode.cpp:229
+msgid "Help"
+msgstr ""
+
+#: src/keycode.cpp:229
+msgid "Insert"
+msgstr ""
+
+#: src/keycode.cpp:229
+msgid "Snapshot"
+msgstr ""
+
+#: src/keycode.cpp:232
+msgid "Left Windows"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Apps"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Numpad 0"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Numpad 1"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Right Windows"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Sleep"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 2"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 3"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 4"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 5"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 6"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 7"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad *"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad +"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad -"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad /"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad 8"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad 9"
+msgstr ""
+
+#: src/keycode.cpp:239
+msgid "Num Lock"
+msgstr ""
+
+#: src/keycode.cpp:239
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/keycode.cpp:240
+msgid "Left Shift"
+msgstr ""
+
+#: src/keycode.cpp:240
+msgid "Right Shift"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Left Control"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Left Menu"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Right Control"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Right Menu"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Comma"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Minus"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Period"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Plus"
+msgstr ""
+
+#: src/keycode.cpp:247
+msgid "Attn"
+msgstr ""
+
+#: src/keycode.cpp:247
+msgid "CrSel"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "Erase OEF"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "ExSel"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "OEM Clear"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "PA1"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "Zoom"
+msgstr ""
+
+#: src/main.cpp:1384
+msgid "Main Menu"
+msgstr ""
+
+#: src/main.cpp:1633
+msgid "Failed to initialize world"
+msgstr ""
+
+#: src/main.cpp:1645
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/main.cpp:1653
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/main.cpp:1667
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/main.cpp:1707
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/main.cpp:1718
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
diff --git a/po/ro/minetest.po b/po/ro/minetest.po
index 400cb5a4e..f07b816a5 100644
--- a/po/ro/minetest.po
+++ b/po/ro/minetest.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-23 18:24+0200\n"
+"POT-Creation-Date: 2013-01-30 20:25+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,35 +17,35 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr ""
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
msgid "Enable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr ""
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr ""
@@ -123,6 +123,74 @@ msgstr ""
msgid "press key"
msgstr ""
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr ""
@@ -459,18 +527,10 @@ msgid "Execute"
msgstr ""
#: src/keycode.cpp:228
-msgid "Left"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr ""
#: src/keycode.cpp:228
-msgid "Right"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr ""
diff --git a/po/ru/minetest.po b/po/ru/minetest.po
index 6ce72ca19..53e533a0e 100644
--- a/po/ru/minetest.po
+++ b/po/ru/minetest.po
@@ -19,35 +19,35 @@ msgstr ""
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 1.4-dev\n"
-#: src/guiConfigureWorld.cpp:127
+#: src/guiConfigureWorld.cpp:125
msgid ""
"Warning: Some mods are not configured yet.\n"
"They will be enabled by default when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:146
+#: src/guiConfigureWorld.cpp:144
msgid ""
"Warning: Some configured mods are missing.\n"
"Their setting will be removed when you save the configuration. "
msgstr ""
-#: src/guiConfigureWorld.cpp:210
+#: src/guiConfigureWorld.cpp:208
msgid "enabled"
msgstr ""
-#: src/guiConfigureWorld.cpp:217
+#: src/guiConfigureWorld.cpp:215
msgid "Enable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:224
+#: src/guiConfigureWorld.cpp:222
msgid "Disable All"
msgstr ""
-#: src/guiConfigureWorld.cpp:230
+#: src/guiConfigureWorld.cpp:228
msgid "depends on:"
msgstr "зависит от:"
-#: src/guiConfigureWorld.cpp:242
+#: src/guiConfigureWorld.cpp:240
msgid "is required by:"
msgstr ""
@@ -125,6 +125,74 @@ msgstr "Клавиша уже используется"
msgid "press key"
msgstr "нажмите клавишу"
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
#: src/guiMainMenu.cpp:55
msgid "Cannot create world: Name contains invalid characters"
msgstr "Не могу создать мир: имя содержит недопустимые символы"
@@ -461,18 +529,10 @@ msgid "Execute"
msgstr ""
#: src/keycode.cpp:228
-msgid "Left"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Print"
msgstr ""
#: src/keycode.cpp:228
-msgid "Right"
-msgstr ""
-
-#: src/keycode.cpp:228
msgid "Select"
msgstr ""
diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po
new file mode 100644
index 000000000..f07b816a5
--- /dev/null
+++ b/po/zh_CN/minetest.po
@@ -0,0 +1,729 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: minetest\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-01-30 20:25+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/guiConfigureWorld.cpp:125
+msgid ""
+"Warning: Some mods are not configured yet.\n"
+"They will be enabled by default when you save the configuration. "
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:144
+msgid ""
+"Warning: Some configured mods are missing.\n"
+"Their setting will be removed when you save the configuration. "
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:208
+msgid "enabled"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:215
+msgid "Enable All"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:222
+msgid "Disable All"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:228
+msgid "depends on:"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:240
+msgid "is required by:"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
+#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
+msgid "Cancel"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
+msgid "Save"
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:394
+msgid "Configuration saved. "
+msgstr ""
+
+#: src/guiConfigureWorld.cpp:402
+msgid "Warning: Configuration not consistent. "
+msgstr ""
+
+#: src/guiConfirmMenu.cpp:120
+msgid "Yes"
+msgstr ""
+
+#: src/guiConfirmMenu.cpp:126
+msgid "No"
+msgstr ""
+
+#: src/guiCreateWorld.cpp:116
+msgid "World name"
+msgstr ""
+
+#: src/guiCreateWorld.cpp:135
+msgid "Game"
+msgstr ""
+
+#: src/guiCreateWorld.cpp:159
+msgid "Create"
+msgstr ""
+
+#: src/guiDeathScreen.cpp:96
+msgid "You died."
+msgstr ""
+
+#: src/guiDeathScreen.cpp:104
+msgid "Respawn"
+msgstr ""
+
+#: src/guiFormSpecMenu.cpp:572
+msgid "Left click: Move all items, Right click: Move single item"
+msgstr ""
+
+#: src/guiFormSpecMenu.cpp:597 src/guiMessageMenu.cpp:109
+#: src/guiTextInputMenu.cpp:123
+msgid "Proceed"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:114
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:151
+msgid "\"Use\" = climb down"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:164
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:269
+msgid "Key already in use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:347
+msgid "press key"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:372
+msgid "Forward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:373
+msgid "Backward"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
+msgid "Left"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
+msgid "Right"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:376
+msgid "Use"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:377
+msgid "Jump"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:378
+msgid "Sneak"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:379
+msgid "Drop"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:380
+msgid "Inventory"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:381
+msgid "Chat"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:382
+msgid "Command"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:383
+msgid "Console"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:384
+msgid "Toggle fly"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:385
+msgid "Toggle fast"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:386
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:387
+msgid "Range select"
+msgstr ""
+
+#: src/guiKeyChangeMenu.cpp:388
+msgid "Print stacks"
+msgstr ""
+
+#: src/guiMainMenu.cpp:55
+msgid "Cannot create world: Name contains invalid characters"
+msgstr ""
+
+#: src/guiMainMenu.cpp:64
+msgid "Cannot create world: A world by this name already exists"
+msgstr ""
+
+#: src/guiMainMenu.cpp:245
+msgid "Singleplayer"
+msgstr ""
+
+#: src/guiMainMenu.cpp:246
+msgid "Multiplayer"
+msgstr ""
+
+#: src/guiMainMenu.cpp:247
+msgid "Advanced"
+msgstr ""
+
+#: src/guiMainMenu.cpp:248
+msgid "Settings"
+msgstr ""
+
+#: src/guiMainMenu.cpp:249
+msgid "Credits"
+msgstr ""
+
+#: src/guiMainMenu.cpp:280
+msgid "Select World:"
+msgstr ""
+
+#: src/guiMainMenu.cpp:302 src/guiMainMenu.cpp:449 src/keycode.cpp:229
+msgid "Delete"
+msgstr ""
+
+#: src/guiMainMenu.cpp:309
+msgid "New"
+msgstr ""
+
+#: src/guiMainMenu.cpp:317
+msgid "Configure"
+msgstr ""
+
+#: src/guiMainMenu.cpp:332 src/keycode.cpp:248
+msgid "Play"
+msgstr ""
+
+#: src/guiMainMenu.cpp:343 src/guiMainMenu.cpp:557
+msgid "Creative Mode"
+msgstr ""
+
+#: src/guiMainMenu.cpp:349 src/guiMainMenu.cpp:563
+msgid "Enable Damage"
+msgstr ""
+
+#: src/guiMainMenu.cpp:369 src/guiMainMenu.cpp:479
+msgid "Name/Password"
+msgstr ""
+
+#: src/guiMainMenu.cpp:408 src/guiMainMenu.cpp:506
+msgid "Address/Port"
+msgstr ""
+
+#: src/guiMainMenu.cpp:435 src/guiMainMenu.cpp:1075
+msgid "Show Public"
+msgstr ""
+
+#: src/guiMainMenu.cpp:439 src/guiMainMenu.cpp:1083
+msgid "Show Favorites"
+msgstr ""
+
+#: src/guiMainMenu.cpp:459
+msgid "Connect"
+msgstr ""
+
+#: src/guiMainMenu.cpp:529
+msgid "Leave address blank to start a local server."
+msgstr ""
+
+#: src/guiMainMenu.cpp:538
+msgid "Start Game / Connect"
+msgstr ""
+
+#: src/guiMainMenu.cpp:570 src/guiMainMenu.cpp:1006
+msgid "Delete world"
+msgstr ""
+
+#: src/guiMainMenu.cpp:577
+msgid "Create world"
+msgstr ""
+
+#: src/guiMainMenu.cpp:611
+msgid "Fancy trees"
+msgstr ""
+
+#: src/guiMainMenu.cpp:617
+msgid "Smooth Lighting"
+msgstr ""
+
+#: src/guiMainMenu.cpp:623
+msgid "3D Clouds"
+msgstr ""
+
+#: src/guiMainMenu.cpp:629
+msgid "Opaque water"
+msgstr ""
+
+#: src/guiMainMenu.cpp:639
+msgid "Mip-Mapping"
+msgstr ""
+
+#: src/guiMainMenu.cpp:646
+msgid "Anisotropic Filtering"
+msgstr ""
+
+#: src/guiMainMenu.cpp:653
+msgid "Bi-Linear Filtering"
+msgstr ""
+
+#: src/guiMainMenu.cpp:660
+msgid "Tri-Linear Filtering"
+msgstr ""
+
+#: src/guiMainMenu.cpp:668
+msgid "Shaders"
+msgstr ""
+
+#: src/guiMainMenu.cpp:675
+msgid "Preload item visuals"
+msgstr ""
+
+#: src/guiMainMenu.cpp:682
+msgid "Enable Particles"
+msgstr ""
+
+#: src/guiMainMenu.cpp:692
+msgid "Change keys"
+msgstr ""
+
+#: src/guiMainMenu.cpp:977
+msgid "Address required."
+msgstr ""
+
+#: src/guiMainMenu.cpp:995
+msgid "Cannot delete world: Nothing selected"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1010
+msgid "Files to be deleted"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1026
+msgid "Cannot create world: No games found"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1042
+msgid "Cannot configure world: Nothing selected"
+msgstr ""
+
+#: src/guiMainMenu.cpp:1146
+msgid "Failed to delete all world files"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:108
+msgid "Old Password"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:125
+msgid "New Password"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:141
+msgid "Confirm Password"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:158
+msgid "Change"
+msgstr ""
+
+#: src/guiPasswordChange.cpp:167
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:118
+msgid "Continue"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:127
+msgid "Change Password"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:135
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:142
+msgid "Exit to OS"
+msgstr ""
+
+#: src/guiPauseMenu.cpp:149
+msgid ""
+"Default Controls:\n"
+"- WASD: Walk\n"
+"- Mouse left: dig/hit\n"
+"- Mouse right: place/use\n"
+"- Mouse wheel: select item\n"
+"- 0...9: select item\n"
+"- Shift: sneak\n"
+"- R: Toggle viewing all loaded chunks\n"
+"- I: Inventory menu\n"
+"- ESC: This menu\n"
+"- T: Chat\n"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "Left Button"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "Middle Button"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "Right Button"
+msgstr ""
+
+#: src/keycode.cpp:223
+msgid "X Button 1"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Back"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Clear"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Return"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "Tab"
+msgstr ""
+
+#: src/keycode.cpp:224
+msgid "X Button 2"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Capital"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Control"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Kana"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Menu"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Pause"
+msgstr ""
+
+#: src/keycode.cpp:225
+msgid "Shift"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Convert"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Escape"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Final"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Junja"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Kanji"
+msgstr ""
+
+#: src/keycode.cpp:226
+msgid "Nonconvert"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Accept"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "End"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Home"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Mode Change"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Next"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Prior"
+msgstr ""
+
+#: src/keycode.cpp:227
+msgid "Space"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Down"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Execute"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Print"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Select"
+msgstr ""
+
+#: src/keycode.cpp:228
+msgid "Up"
+msgstr ""
+
+#: src/keycode.cpp:229
+msgid "Help"
+msgstr ""
+
+#: src/keycode.cpp:229
+msgid "Insert"
+msgstr ""
+
+#: src/keycode.cpp:229
+msgid "Snapshot"
+msgstr ""
+
+#: src/keycode.cpp:232
+msgid "Left Windows"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Apps"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Numpad 0"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Numpad 1"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Right Windows"
+msgstr ""
+
+#: src/keycode.cpp:233
+msgid "Sleep"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 2"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 3"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 4"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 5"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 6"
+msgstr ""
+
+#: src/keycode.cpp:234
+msgid "Numpad 7"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad *"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad +"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad -"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad /"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad 8"
+msgstr ""
+
+#: src/keycode.cpp:235
+msgid "Numpad 9"
+msgstr ""
+
+#: src/keycode.cpp:239
+msgid "Num Lock"
+msgstr ""
+
+#: src/keycode.cpp:239
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/keycode.cpp:240
+msgid "Left Shift"
+msgstr ""
+
+#: src/keycode.cpp:240
+msgid "Right Shift"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Left Control"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Left Menu"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Right Control"
+msgstr ""
+
+#: src/keycode.cpp:241
+msgid "Right Menu"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Comma"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Minus"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Period"
+msgstr ""
+
+#: src/keycode.cpp:243
+msgid "Plus"
+msgstr ""
+
+#: src/keycode.cpp:247
+msgid "Attn"
+msgstr ""
+
+#: src/keycode.cpp:247
+msgid "CrSel"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "Erase OEF"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "ExSel"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "OEM Clear"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "PA1"
+msgstr ""
+
+#: src/keycode.cpp:248
+msgid "Zoom"
+msgstr ""
+
+#: src/main.cpp:1384
+msgid "Main Menu"
+msgstr ""
+
+#: src/main.cpp:1633
+msgid "Failed to initialize world"
+msgstr ""
+
+#: src/main.cpp:1645
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/main.cpp:1653
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/main.cpp:1667
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/main.cpp:1707
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/main.cpp:1718
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
diff --git a/src/guiKeyChangeMenu.cpp b/src/guiKeyChangeMenu.cpp
index 6b0412821..3f6d03ebb 100644
--- a/src/guiKeyChangeMenu.cpp
+++ b/src/guiKeyChangeMenu.cpp
@@ -369,21 +369,21 @@ void GUIKeyChangeMenu::add_key(int id, std::string button_name, std::string sett
void GUIKeyChangeMenu::init_keys()
{
- this->add_key(GUI_ID_KEY_FORWARD_BUTTON, "Forward", "keymap_forward");
- this->add_key(GUI_ID_KEY_BACKWARD_BUTTON, "Backward", "keymap_backward");
- this->add_key(GUI_ID_KEY_LEFT_BUTTON, "Left", "keymap_left");
- this->add_key(GUI_ID_KEY_RIGHT_BUTTON, "Right", "keymap_right");
- this->add_key(GUI_ID_KEY_USE_BUTTON, "Use", "keymap_special1");
- this->add_key(GUI_ID_KEY_JUMP_BUTTON, "Jump", "keymap_jump");
- this->add_key(GUI_ID_KEY_SNEAK_BUTTON, "Sneak", "keymap_sneak");
- this->add_key(GUI_ID_KEY_DROP_BUTTON, "Drop", "keymap_drop");
- this->add_key(GUI_ID_KEY_INVENTORY_BUTTON, "Inventory", "keymap_inventory");
- this->add_key(GUI_ID_KEY_CHAT_BUTTON, "Chat", "keymap_chat");
- this->add_key(GUI_ID_KEY_CMD_BUTTON, "Command", "keymap_cmd");
- this->add_key(GUI_ID_KEY_CONSOLE_BUTTON, "Console", "keymap_console");
- this->add_key(GUI_ID_KEY_FLY_BUTTON, "Toggle fly", "keymap_freemove");
- this->add_key(GUI_ID_KEY_FAST_BUTTON, "Toggle fast", "keymap_fastmove");
- this->add_key(GUI_ID_KEY_NOCLIP_BUTTON, "Toggle noclip", "keymap_noclip");
- this->add_key(GUI_ID_KEY_RANGE_BUTTON, "Range select", "keymap_rangeselect");
- this->add_key(GUI_ID_KEY_DUMP_BUTTON, "Print stacks", "keymap_print_debug_stacks");
+ this->add_key(GUI_ID_KEY_FORWARD_BUTTON, gettext("Forward"), "keymap_forward");
+ this->add_key(GUI_ID_KEY_BACKWARD_BUTTON, gettext("Backward"), "keymap_backward");
+ this->add_key(GUI_ID_KEY_LEFT_BUTTON, gettext("Left"), "keymap_left");
+ this->add_key(GUI_ID_KEY_RIGHT_BUTTON, gettext("Right"), "keymap_right");
+ this->add_key(GUI_ID_KEY_USE_BUTTON, gettext("Use"), "keymap_special1");
+ this->add_key(GUI_ID_KEY_JUMP_BUTTON, gettext("Jump"), "keymap_jump");
+ this->add_key(GUI_ID_KEY_SNEAK_BUTTON, gettext("Sneak"), "keymap_sneak");
+ this->add_key(GUI_ID_KEY_DROP_BUTTON, gettext("Drop"), "keymap_drop");
+ this->add_key(GUI_ID_KEY_INVENTORY_BUTTON, gettext("Inventory"), "keymap_inventory");
+ this->add_key(GUI_ID_KEY_CHAT_BUTTON, gettext("Chat"), "keymap_chat");
+ this->add_key(GUI_ID_KEY_CMD_BUTTON, gettext("Command"), "keymap_cmd");
+ this->add_key(GUI_ID_KEY_CONSOLE_BUTTON, gettext("Console"), "keymap_console");
+ this->add_key(GUI_ID_KEY_FLY_BUTTON, gettext("Toggle fly"), "keymap_freemove");
+ this->add_key(GUI_ID_KEY_FAST_BUTTON, gettext("Toggle fast"), "keymap_fastmove");
+ this->add_key(GUI_ID_KEY_NOCLIP_BUTTON, gettext("Toggle noclip"), "keymap_noclip");
+ this->add_key(GUI_ID_KEY_RANGE_BUTTON, gettext("Range select"), "keymap_rangeselect");
+ this->add_key(GUI_ID_KEY_DUMP_BUTTON, gettext("Print stacks"), "keymap_print_debug_stacks");
}
diff --git a/src/map.cpp b/src/map.cpp
index 6a058bb51..ea82194b8 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "gamedef.h"
#include "util/directiontables.h"
#include "rollback_interface.h"
+#include "mapgen_v6.h"
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
@@ -1993,10 +1994,9 @@ void Map::removeNodeTimer(v3s16 p)
/*
ServerMap
*/
-ServerMap::ServerMap(std::string savedir, IGameDef *gamedef):
+ServerMap::ServerMap(std::string savedir, IGameDef *gamedef, EmergeManager *emerge):
Map(dout_server, gamedef),
m_seed(0),
- m_emerge(NULL),
m_map_metadata_changed(true),
m_database(NULL),
m_database_read(NULL),
@@ -2004,9 +2004,8 @@ ServerMap::ServerMap(std::string savedir, IGameDef *gamedef):
{
verbosestream<<__FUNCTION_NAME<<std::endl;
- //m_chunksize = 8; // Takes a few seconds
-
- m_mgparams = MapgenParams::getParamsFromSettings(g_settings);
+ m_emerge = emerge;
+ m_mgparams = m_emerge->getParamsFromSettings(g_settings);
if (!m_mgparams)
m_mgparams = new MapgenV6Params();
@@ -3080,32 +3079,12 @@ void ServerMap::saveMapMeta()
Settings params;
params.set("mg_name", m_emerge->params->mg_name);
-
params.setU64("seed", m_emerge->params->seed);
params.setS16("water_level", m_emerge->params->water_level);
params.setS16("chunksize", m_emerge->params->chunksize);
params.setS32("mg_flags", m_emerge->params->flags);
-/* switch (m_emerge->params->mg_version) {
- case 6:
- {*/
- MapgenV6Params *v6params = (MapgenV6Params *)m_emerge->params;
-
- params.setFloat("mgv6_freq_desert", v6params->freq_desert);
- params.setFloat("mgv6_freq_beach", v6params->freq_beach);
- params.setNoiseParams("mgv6_np_terrain_base", v6params->np_terrain_base);
- params.setNoiseParams("mgv6_np_terrain_higher", v6params->np_terrain_higher);
- params.setNoiseParams("mgv6_np_steepness", v6params->np_steepness);
- params.setNoiseParams("mgv6_np_height_select", v6params->np_height_select);
- params.setNoiseParams("mgv6_np_trees", v6params->np_trees);
- params.setNoiseParams("mgv6_np_mud", v6params->np_mud);
- params.setNoiseParams("mgv6_np_beach", v6params->np_beach);
- params.setNoiseParams("mgv6_np_biome", v6params->np_biome);
- params.setNoiseParams("mgv6_np_cave", v6params->np_cave);
- /* break;
- }
- default:
- ; //complain here
- }*/
+
+ m_emerge->params->writeParams(&params);
params.writeLines(os);
@@ -3145,7 +3124,7 @@ void ServerMap::loadMapMeta()
params.parseConfigLine(line);
}
- MapgenParams *mgparams = MapgenParams::getParamsFromSettings(&params);
+ MapgenParams *mgparams = m_emerge->getParamsFromSettings(&params);
if (mgparams) {
if (m_mgparams)
delete m_mgparams;
diff --git a/src/map.h b/src/map.h
index 760b23de5..420fc29ca 100644
--- a/src/map.h
+++ b/src/map.h
@@ -358,7 +358,7 @@ public:
/*
savedir: directory to which map data should be saved
*/
- ServerMap(std::string savedir, IGameDef *gamedef);
+ ServerMap(std::string savedir, IGameDef *gamedef, EmergeManager *emerge);
~ServerMap();
s32 mapType() const
@@ -480,16 +480,12 @@ public:
MapgenParams *getMapgenParams(){ return m_mgparams; }
- void setEmerge(EmergeManager *emerge){ m_emerge = emerge; }
-
// Parameters fed to the Mapgen
MapgenParams *m_mgparams;
private:
// Seed used for all kinds of randomness in generation
u64 m_seed;
-
-
-
+
// Emerge manager
EmergeManager *m_emerge;
diff --git a/src/mapgen.cpp b/src/mapgen.cpp
index c86743459..f2745bdb4 100644
--- a/src/mapgen.cpp
+++ b/src/mapgen.cpp
@@ -33,66 +33,53 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "settings.h" // For g_settings
#include "main.h" // For g_profiler
#include "treegen.h"
-
-/////////////////// Mapgen V6 perlin noise default values
-NoiseParams nparams_v6_def_terrain_base =
- {-AVERAGE_MUD_AMOUNT, 20.0, v3f(250.0, 250.0, 250.0), 82341, 5, 0.6};
-NoiseParams nparams_v6_def_terrain_higher =
- {20.0, 16.0, v3f(500.0, 500.0, 500.0), 85039, 5, 0.6};
-NoiseParams nparams_v6_def_steepness =
- {0.85, 0.5, v3f(125.0, 125.0, 125.0), -932, 5, 0.7};
-NoiseParams nparams_v6_def_height_select =
- {0.5, 1.0, v3f(250.0, 250.0, 250.0), 4213, 5, 0.69};
-NoiseParams nparams_v6_def_trees =
- {0.0, 1.0, v3f(125.0, 125.0, 125.0), 2, 4, 0.66};
-NoiseParams nparams_v6_def_mud =
- {AVERAGE_MUD_AMOUNT, 2.0, v3f(200.0, 200.0, 200.0), 91013, 3, 0.55};
-NoiseParams nparams_v6_def_beach =
- {0.0, 1.0, v3f(250.0, 250.0, 250.0), 59420, 3, 0.50};
-NoiseParams nparams_v6_def_biome =
- {0.0, 1.0, v3f(250.0, 250.0, 250.0), 9130, 3, 0.50};
-NoiseParams nparams_v6_def_cave =
- {6.0, 6.0, v3f(250.0, 250.0, 250.0), 34329, 3, 0.50};
+#include "mapgen_v6.h"
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Emerge Manager ////////////////////////////////
-
-EmergeManager::EmergeManager(IGameDef *gamedef, BiomeDefManager *bdef,
- MapgenParams *mgparams) {
+EmergeManager::EmergeManager(IGameDef *gamedef, BiomeDefManager *bdef) {
+ //register built-in mapgens
+ registerMapgen("v6", new MapgenFactoryV6());
+
//the order of these assignments is pretty important
this->biomedef = bdef ? bdef : new BiomeDefManager(gamedef);
- this->params = mgparams;
+ this->params = NULL;
this->mapgen = NULL;
- this->mapgen = getMapgen();
}
EmergeManager::~EmergeManager() {
delete biomedef;
+ delete mapgen;
delete params;
}
+void EmergeManager::initMapgens(MapgenParams *mgparams) {
+ if (mapgen)
+ return;
+
+ this->params = mgparams;
+ this->mapgen = getMapgen(); //only one mapgen for now!
+}
+
+
Mapgen *EmergeManager::getMapgen() {
if (!mapgen) {
- /*switch (params->mg_version) {
- case 6:*/
- mapgen = new MapgenV6(0, (MapgenV6Params *)params);
- /* break;
- default:
- errorstream << "EmergeManager: Unsupported mapgen version "
- << params->mg_version << ", falling back to V6" << std::endl;
- params->mg_version = 6;
- mapgen = new MapgenV6(0, (MapgenV6Params *)params);
- }*/
+ mapgen = createMapgen(params->mg_name, 0, params, this);
+ if (!mapgen) {
+ infostream << "EmergeManager: falling back to mapgen v6" << std::endl;
+ delete params;
+ params = createMapgenParams("v6");
+ mapgen = createMapgen("v6", 0, params, this);
+ }
}
return mapgen;
}
-
void EmergeManager::addBlockToQueue() {
//STUB
}
@@ -127,60 +114,94 @@ u32 EmergeManager::getBlockSeed(v3s16 p) {
}
-MapgenParams *MapgenParams::createMapgenParams(std::string &mgstr) {
- return new MapgenV6Params(); // this will be fixed later
- /*switch (mgver) {
- case 6:
- return new MapgenV6Params();
- default: //instead of complaining, default to 6
- return new MapgenV6Params();
- }*/
+Mapgen *EmergeManager::createMapgen(std::string mgname, int mgid,
+ MapgenParams *mgparams, EmergeManager *emerge) {
+ std::map<std::string, MapgenFactory *>::const_iterator iter = mglist.find(mgname);
+ if (iter == mglist.end()) {
+ errorstream << "EmergeManager; mapgen " << mgname <<
+ " not registered" << std::endl;
+ return NULL;
+ }
+
+ MapgenFactory *mgfactory = iter->second;
+ return mgfactory->createMapgen(mgid, mgparams, emerge);
+}
+
+
+MapgenParams *EmergeManager::createMapgenParams(std::string mgname) {
+ std::map<std::string, MapgenFactory *>::const_iterator iter = mglist.find(mgname);
+ if (iter == mglist.end()) {
+ errorstream << "EmergeManager: mapgen " << mgname <<
+ " not registered" << std::endl;
+ return NULL;
+ }
+
+ MapgenFactory *mgfactory = iter->second;
+ return mgfactory->createMapgenParams();
}
-MapgenParams *MapgenParams::getParamsFromSettings(Settings *settings) {
+MapgenParams *EmergeManager::getParamsFromSettings(Settings *settings) {
std::string mg_name = settings->get("mg_name");
- MapgenParams *mgparams = MapgenParams::createMapgenParams(mg_name);
+ MapgenParams *mgparams = createMapgenParams(mg_name);
+
mgparams->mg_name = mg_name;
mgparams->seed = settings->getU64(settings == g_settings ? "fixed_map_seed" : "seed");
mgparams->water_level = settings->getS16("water_level");
mgparams->chunksize = settings->getS16("chunksize");
mgparams->flags = settings->getS32("mg_flags");
-/* switch (mg_version) {
- case 6:
- {*/
- MapgenV6Params *v6params = (MapgenV6Params *)mgparams;
-
- v6params->freq_desert = settings->getFloat("mgv6_freq_desert");
- v6params->freq_beach = settings->getFloat("mgv6_freq_beach");
- v6params->np_terrain_base = settings->getNoiseParams("mgv6_np_terrain_base");
- v6params->np_terrain_higher = settings->getNoiseParams("mgv6_np_terrain_higher");
- v6params->np_steepness = settings->getNoiseParams("mgv6_np_steepness");
- v6params->np_height_select = settings->getNoiseParams("mgv6_np_height_select");
- v6params->np_trees = settings->getNoiseParams("mgv6_np_trees");
- v6params->np_mud = settings->getNoiseParams("mgv6_np_mud");
- v6params->np_beach = settings->getNoiseParams("mgv6_np_beach");
- v6params->np_biome = settings->getNoiseParams("mgv6_np_biome");
- v6params->np_cave = settings->getNoiseParams("mgv6_np_cave");
-
- if (!v6params->np_terrain_base || !v6params->np_terrain_higher ||
- !v6params->np_steepness || !v6params->np_height_select ||
- !v6params->np_trees || !v6params->np_mud ||
- !v6params->np_beach || !v6params->np_biome || !v6params->np_cave) {
- delete mgparams;
- return NULL;
- }
-/*
- break;
- }
- default:
- delete mgparams;
- return NULL;
- }*/
-
+ if (!mgparams->readParams(settings)) {
+ delete mgparams;
+ return NULL;
+ }
return mgparams;
+}
+
+
+bool EmergeManager::registerMapgen(std::string mgname, MapgenFactory *mgfactory) {
+ mglist.insert(std::make_pair(mgname, mgfactory));
+ infostream << "EmergeManager: registered mapgen " << mgname << std::endl;
+}
+
+
+/////////////////////
+
+bool MapgenV6Params::readParams(Settings *settings) {
+ freq_desert = settings->getFloat("mgv6_freq_desert");
+ freq_beach = settings->getFloat("mgv6_freq_beach");
+
+ np_terrain_base = settings->getNoiseParams("mgv6_np_terrain_base");
+ np_terrain_higher = settings->getNoiseParams("mgv6_np_terrain_higher");
+ np_steepness = settings->getNoiseParams("mgv6_np_steepness");
+ np_height_select = settings->getNoiseParams("mgv6_np_height_select");
+ np_trees = settings->getNoiseParams("mgv6_np_trees");
+ np_mud = settings->getNoiseParams("mgv6_np_mud");
+ np_beach = settings->getNoiseParams("mgv6_np_beach");
+ np_biome = settings->getNoiseParams("mgv6_np_biome");
+ np_cave = settings->getNoiseParams("mgv6_np_cave");
+
+ bool success =
+ np_terrain_base && np_terrain_higher && np_steepness &&
+ np_height_select && np_trees && np_mud &&
+ np_beach && np_biome && np_cave;
+ return success;
+}
+
+void MapgenV6Params::writeParams(Settings *settings) {
+ settings->setFloat("mgv6_freq_desert", freq_desert);
+ settings->setFloat("mgv6_freq_beach", freq_beach);
+
+ settings->setNoiseParams("mgv6_np_terrain_base", np_terrain_base);
+ settings->setNoiseParams("mgv6_np_terrain_higher", np_terrain_higher);
+ settings->setNoiseParams("mgv6_np_steepness", np_steepness);
+ settings->setNoiseParams("mgv6_np_height_select", np_height_select);
+ settings->setNoiseParams("mgv6_np_trees", np_trees);
+ settings->setNoiseParams("mgv6_np_mud", np_mud);
+ settings->setNoiseParams("mgv6_np_beach", np_beach);
+ settings->setNoiseParams("mgv6_np_biome", np_biome);
+ settings->setNoiseParams("mgv6_np_cave", np_cave);
}
diff --git a/src/mapgen.h b/src/mapgen.h
index d508d37a8..728290ffc 100644
--- a/src/mapgen.h
+++ b/src/mapgen.h
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mapnode.h"
#include "noise.h"
#include "settings.h"
+#include <map>
/////////////////// Mapgen flags
#define MG_TREES 0x01
@@ -34,39 +35,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define MGV6_FORESTS 0x08
#define MGV6_BIOME_BLEND 0x10
-#define AVERAGE_MUD_AMOUNT 4
-
class BiomeDefManager;
class Biome;
-
-//struct BlockMakeData;
+class EmergeManager;
class MapBlock;
class ManualMapVoxelManipulator;
class VoxelManipulator;
class INodeDefManager;
-extern NoiseParams nparams_v6_def_terrain_base;
-extern NoiseParams nparams_v6_def_terrain_higher;
-extern NoiseParams nparams_v6_def_steepness;
-extern NoiseParams nparams_v6_def_height_select;
-extern NoiseParams nparams_v6_def_trees;
-extern NoiseParams nparams_v6_def_mud;
-extern NoiseParams nparams_v6_def_beach;
-extern NoiseParams nparams_v6_def_biome;
-extern NoiseParams nparams_v6_def_cave;
-
-extern NoiseParams nparams_v7_def_terrain;
-extern NoiseParams nparams_v7_def_bgroup;
-extern NoiseParams nparams_v7_def_heat;
-extern NoiseParams nparams_v7_def_humidity;
-
-enum BiomeType
-{
- BT_NORMAL,
- BT_DESERT
-};
-
-
struct BlockMakeData {
bool no_op;
ManualMapVoxelManipulator *vmanip;
@@ -81,7 +57,6 @@ struct BlockMakeData {
~BlockMakeData();
};
-
struct MapgenParams {
std::string mg_name;
int chunksize;
@@ -96,41 +71,11 @@ struct MapgenParams {
chunksize = 5;
flags = MG_TREES | MG_CAVES | MGV6_BIOME_BLEND;
}
-
- static MapgenParams *createMapgenParams(std::string &mgname);
- static MapgenParams *getParamsFromSettings(Settings *settings);
-
-};
-
-struct MapgenV6Params : public MapgenParams {
- float freq_desert;
- float freq_beach;
- NoiseParams *np_terrain_base;
- NoiseParams *np_terrain_higher;
- NoiseParams *np_steepness;
- NoiseParams *np_height_select;
- NoiseParams *np_trees;
- NoiseParams *np_mud;
- NoiseParams *np_beach;
- NoiseParams *np_biome;
- NoiseParams *np_cave;
-
- MapgenV6Params() {
- freq_desert = 0.45;
- freq_beach = 0.15;
- np_terrain_base = &nparams_v6_def_terrain_base;
- np_terrain_higher = &nparams_v6_def_terrain_higher;
- np_steepness = &nparams_v6_def_steepness;
- np_height_select = &nparams_v6_def_height_select;
- np_trees = &nparams_v6_def_trees;
- np_mud = &nparams_v6_def_mud;
- np_beach = &nparams_v6_def_beach;
- np_biome = &nparams_v6_def_biome;
- np_cave = &nparams_v6_def_cave;
- }
+
+ virtual bool readParams(Settings *settings) = 0;
+ virtual void writeParams(Settings *settings) {};
};
-
class Mapgen {
public:
int seed;
@@ -147,64 +92,16 @@ public:
static s16 find_ground_level_from_noise(u64 seed, v2s16 p2d, s16 precision);
};
-
-class MapgenV6 : public Mapgen {
-public:
- //ManualMapVoxelManipulator &vmanip;
-
- int ystride;
- v3s16 csize;
-
- v3s16 node_min;
- v3s16 node_max;
-
- Noise *noise_terrain_base;
- Noise *noise_terrain_higher;
- Noise *noise_steepness;
- Noise *noise_height_select;
- Noise *noise_trees;
- Noise *noise_mud;
- Noise *noise_beach;
- Noise *noise_biome;
-
- float *map_terrain_base;
- float *map_terrain_higher;
- float *map_steepness;
- float *map_height_select;
- float *map_trees;
- float *map_mud;
- float *map_beach;
- float *map_biome;
-
- NoiseParams *np_cave;
-
- u32 flags;
- float freq_desert;
- float freq_beach;
-
- MapgenV6(int mapgenid, MapgenV6Params *params);
- ~MapgenV6();
-
- void makeChunk(BlockMakeData *data);
- int getGroundLevelAtPoint(v2s16 p);
-
- double baseRockLevelFromNoise(v2s16 p);
- static s16 find_ground_level(VoxelManipulator &vmanip, v2s16 p2d, INodeDefManager *ndef);
- static s16 find_stone_level(VoxelManipulator &vmanip, v2s16 p2d, INodeDefManager *ndef);
- void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0, bool is_apple_tree, INodeDefManager *ndef);
- double tree_amount_2d(u64 seed, v2s16 p);
- bool block_is_underground(u64 seed, v3s16 blockpos);
- double base_rock_level_2d(u64 seed, v2s16 p);
- s16 find_ground_level_from_noise(u64 seed, v2s16 p2d, s16 precision);
- double get_mud_add_amount(u64 seed, v2s16 p);
- bool get_have_beach(u64 seed, v2s16 p2d);
- BiomeType get_biome(u64 seed, v2s16 p2d);
- u32 get_blockseed(u64 seed, v3s16 p);
+struct MapgenFactory {
+ virtual Mapgen *createMapgen(int mgid, MapgenParams *params,
+ EmergeManager *emerge) = 0;
+ virtual MapgenParams *createMapgenParams() = 0;
};
-
class EmergeManager {
public:
+ std::map<std::string, MapgenFactory *> mglist;
+
//settings
MapgenParams *params;
@@ -214,12 +111,19 @@ public:
//biome manager
BiomeDefManager *biomedef;
- EmergeManager(IGameDef *gamedef, BiomeDefManager *bdef, MapgenParams *mgparams);
+ EmergeManager(IGameDef *gamedef, BiomeDefManager *bdef);
~EmergeManager();
+ void initMapgens(MapgenParams *mgparams);
+ Mapgen *createMapgen(std::string mgname, int mgid,
+ MapgenParams *mgparams, EmergeManager *emerge);
+ MapgenParams *createMapgenParams(std::string mgname);
Mapgen *getMapgen();
void addBlockToQueue();
-
+
+ bool registerMapgen(std::string name, MapgenFactory *mgfactory);
+ MapgenParams *getParamsFromSettings(Settings *settings);
+
//mapgen helper methods
Biome *getBiomeAtPoint(v3s16 p);
int getGroundLevelAtPoint(v2s16 p);
diff --git a/src/mapgen_v6.cpp b/src/mapgen_v6.cpp
index a86edcca9..30df1673c 100644
--- a/src/mapgen_v6.cpp
+++ b/src/mapgen_v6.cpp
@@ -31,6 +31,27 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "profiler.h"
#include "settings.h" // For g_settings
#include "main.h" // For g_profiler
+#include "mapgen_v6.h"
+
+/////////////////// Mapgen V6 perlin noise default values
+NoiseParams nparams_v6_def_terrain_base =
+ {-AVERAGE_MUD_AMOUNT, 20.0, v3f(250.0, 250.0, 250.0), 82341, 5, 0.6};
+NoiseParams nparams_v6_def_terrain_higher =
+ {20.0, 16.0, v3f(500.0, 500.0, 500.0), 85039, 5, 0.6};
+NoiseParams nparams_v6_def_steepness =
+ {0.85, 0.5, v3f(125.0, 125.0, 125.0), -932, 5, 0.7};
+NoiseParams nparams_v6_def_height_select =
+ {0.5, 1.0, v3f(250.0, 250.0, 250.0), 4213, 5, 0.69};
+NoiseParams nparams_v6_def_trees =
+ {0.0, 1.0, v3f(125.0, 125.0, 125.0), 2, 4, 0.66};
+NoiseParams nparams_v6_def_mud =
+ {AVERAGE_MUD_AMOUNT, 2.0, v3f(200.0, 200.0, 200.0), 91013, 3, 0.55};
+NoiseParams nparams_v6_def_beach =
+ {0.0, 1.0, v3f(250.0, 250.0, 250.0), 59420, 3, 0.50};
+NoiseParams nparams_v6_def_biome =
+ {0.0, 1.0, v3f(250.0, 250.0, 250.0), 9130, 3, 0.50};
+NoiseParams nparams_v6_def_cave =
+ {6.0, 6.0, v3f(250.0, 250.0, 250.0), 34329, 3, 0.50};
///////////////////////////////////////////////////////////////////////////////
@@ -397,7 +418,6 @@ int MapgenV6::getGroundLevelAtPoint(v2s16 p) {
return baseRockLevelFromNoise(p) + AVERAGE_MUD_AMOUNT;
}
-
#define VMANIP_FLAG_CAVE VOXELFLAG_CHECKED1
void MapgenV6::makeChunk(BlockMakeData *data)
diff --git a/src/mapgen_v6.h b/src/mapgen_v6.h
new file mode 100644
index 000000000..9a2a0287d
--- /dev/null
+++ b/src/mapgen_v6.h
@@ -0,0 +1,141 @@
+/*
+Minetest-c55
+Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#ifndef MAPGENV6_HEADER
+#define MAPGENV6_HEADER
+
+#include "mapgen.h"
+
+#define AVERAGE_MUD_AMOUNT 4
+
+enum BiomeType
+{
+ BT_NORMAL,
+ BT_DESERT
+};
+
+extern NoiseParams nparams_v6_def_terrain_base;
+extern NoiseParams nparams_v6_def_terrain_higher;
+extern NoiseParams nparams_v6_def_steepness;
+extern NoiseParams nparams_v6_def_height_select;
+extern NoiseParams nparams_v6_def_trees;
+extern NoiseParams nparams_v6_def_mud;
+extern NoiseParams nparams_v6_def_beach;
+extern NoiseParams nparams_v6_def_biome;
+extern NoiseParams nparams_v6_def_cave;
+
+struct MapgenV6Params : public MapgenParams {
+ float freq_desert;
+ float freq_beach;
+ NoiseParams *np_terrain_base;
+ NoiseParams *np_terrain_higher;
+ NoiseParams *np_steepness;
+ NoiseParams *np_height_select;
+ NoiseParams *np_trees;
+ NoiseParams *np_mud;
+ NoiseParams *np_beach;
+ NoiseParams *np_biome;
+ NoiseParams *np_cave;
+
+ MapgenV6Params() {
+ freq_desert = 0.45;
+ freq_beach = 0.15;
+ np_terrain_base = &nparams_v6_def_terrain_base;
+ np_terrain_higher = &nparams_v6_def_terrain_higher;
+ np_steepness = &nparams_v6_def_steepness;
+ np_height_select = &nparams_v6_def_height_select;
+ np_trees = &nparams_v6_def_trees;
+ np_mud = &nparams_v6_def_mud;
+ np_beach = &nparams_v6_def_beach;
+ np_biome = &nparams_v6_def_biome;
+ np_cave = &nparams_v6_def_cave;
+ }
+
+ bool readParams(Settings *settings);
+ void writeParams(Settings *settings);
+};
+
+class MapgenV6 : public Mapgen {
+public:
+ //ManualMapVoxelManipulator &vmanip;
+
+ int ystride;
+ v3s16 csize;
+
+ v3s16 node_min;
+ v3s16 node_max;
+
+ Noise *noise_terrain_base;
+ Noise *noise_terrain_higher;
+ Noise *noise_steepness;
+ Noise *noise_height_select;
+ Noise *noise_trees;
+ Noise *noise_mud;
+ Noise *noise_beach;
+ Noise *noise_biome;
+
+ float *map_terrain_base;
+ float *map_terrain_higher;
+ float *map_steepness;
+ float *map_height_select;
+ float *map_trees;
+ float *map_mud;
+ float *map_beach;
+ float *map_biome;
+
+ NoiseParams *np_cave;
+
+ u32 flags;
+ float freq_desert;
+ float freq_beach;
+
+ MapgenV6(int mapgenid, MapgenV6Params *params);
+ ~MapgenV6();
+
+ void makeChunk(BlockMakeData *data);
+ int getGroundLevelAtPoint(v2s16 p);
+
+ double baseRockLevelFromNoise(v2s16 p);
+ static s16 find_ground_level(VoxelManipulator &vmanip,
+ v2s16 p2d, INodeDefManager *ndef);
+ static s16 find_stone_level(VoxelManipulator &vmanip,
+ v2s16 p2d, INodeDefManager *ndef);
+ void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0,
+ bool is_apple_tree, INodeDefManager *ndef);
+ double tree_amount_2d(u64 seed, v2s16 p);
+ bool block_is_underground(u64 seed, v3s16 blockpos);
+ double base_rock_level_2d(u64 seed, v2s16 p);
+ s16 find_ground_level_from_noise(u64 seed, v2s16 p2d, s16 precision);
+ double get_mud_add_amount(u64 seed, v2s16 p);
+ bool get_have_beach(u64 seed, v2s16 p2d);
+ BiomeType get_biome(u64 seed, v2s16 p2d);
+ u32 get_blockseed(u64 seed, v3s16 p);
+};
+
+struct MapgenFactoryV6 : public MapgenFactory {
+ Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) {
+ return new MapgenV6(mgid, (MapgenV6Params *)params);
+ };
+
+ MapgenParams *createMapgenParams() {
+ return new MapgenV6Params();
+ };
+};
+
+#endif
diff --git a/src/porting.h b/src/porting.h
index 184e1ab54..c8d19154c 100644
--- a/src/porting.h
+++ b/src/porting.h
@@ -42,18 +42,26 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#ifdef _WIN32
#include <windows.h>
- #define ALIGNOF(x) __alignof(x)
#define sleep_ms(x) Sleep(x)
+#else
+ #include <unistd.h>
+ #include <stdint.h> //for uintptr_t
+
+ #define sleep_ms(x) usleep(x*1000)
+#endif
+
+#ifdef _MSC_VER
+ #define ALIGNOF(x) __alignof(x)
#define strtok_r(x, y, z) strtok_s(x, y, z)
#define strtof(x, y) (float)strtod(x, y)
#define strtoll(x, y, z) _strtoi64(x, y, z)
#define strtoull(x, y, z) _strtoui64(x, y, z)
#else
- #include <unistd.h>
- #include <stdint.h> //for uintptr_t
-
#define ALIGNOF(x) __alignof__(x)
- #define sleep_ms(x) usleep(x*1000)
+#endif
+
+#ifdef __MINGW32__
+ #define strtok_r(x, y, z) mystrtok_r(x, y, z)
#endif
#define PADDING(x, y) ((ALIGNOF(y) - ((uintptr_t)(x) & (ALIGNOF(y) - 1))) & (ALIGNOF(y) - 1))
diff --git a/src/server.cpp b/src/server.cpp
index d227474aa..a8640ad10 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1097,15 +1097,14 @@ Server::Server(
// Add default biomes after nodedef had its aliases added
m_biomedef->addDefaultBiomes();
- // Initialize Environment
- ServerMap *servermap = new ServerMap(path_world, this);
- m_env = new ServerEnvironment(servermap, m_lua, this, this);
-
// Create emerge manager
- m_emerge = new EmergeManager(this, m_biomedef, servermap->getMapgenParams());
+ m_emerge = new EmergeManager(this, m_biomedef);
- // Give map pointer to the emerge manager
- servermap->setEmerge(m_emerge);
+ // Initialize Environment
+ ServerMap *servermap = new ServerMap(path_world, this, m_emerge);
+ m_env = new ServerEnvironment(servermap, m_lua, this, this);
+
+ m_emerge->initMapgens(servermap->getMapgenParams());
// Give environment reference to scripting api
scriptapi_add_environment(m_lua, m_env);
diff --git a/src/util/string.cpp b/src/util/string.cpp
index 215ac299d..c10755ae1 100644
--- a/src/util/string.cpp
+++ b/src/util/string.cpp
@@ -47,3 +47,28 @@ size_t curl_write_data(char *ptr, size_t size, size_t nmemb, void *userdata) {
stream->write(ptr, count);
return count;
}
+
+char *mystrtok_r(char *s, const char *sep, char **lasts) {
+ char *t;
+
+ if (!s)
+ s = *lasts;
+
+ while (*s && strchr(sep, *s))
+ s++;
+
+ if (!*s)
+ return NULL;
+
+ t = s;
+ while (*t) {
+ if (strchr(sep, *t)) {
+ *t++ = '\0';
+ break;
+ }
+ t++;
+ }
+
+ *lasts = t;
+ return s;
+}
diff --git a/src/util/string.h b/src/util/string.h
index 58274c677..d081b365b 100644
--- a/src/util/string.h
+++ b/src/util/string.h
@@ -283,6 +283,7 @@ inline std::string wrap_rows(const std::string &from, u32 rowlen)
std::string translatePassword(std::string playername, std::wstring password);
size_t curl_write_data(char *ptr, size_t size, size_t nmemb, void *userdata);
+char *mystrtok_r(char *s, const char *sep, char **lasts);
#endif