From e5652cb75cd891895fab50ce46eb34ab9734d160 Mon Sep 17 00:00:00 2001 From: RealBadAngel Date: Sat, 18 Oct 2014 18:46:16 +0200 Subject: [PATCH 01/10] Custom collision boxes node property. --- doc/lua_api.txt | 12 ++++++++++-- src/collision.cpp | 2 +- src/mapnode.cpp | 9 +++++++++ src/mapnode.h | 8 ++++++-- src/nodedef.cpp | 3 +++ src/nodedef.h | 1 + src/script/common/c_content.cpp | 5 +++++ 7 files changed, 35 insertions(+), 5 deletions(-) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 8f77366f7..ff2143cc8 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -408,8 +408,16 @@ param2 is reserved for the engine when any of these are used: 0 = y+ 1 = z+ 2 = z- 3 = x+ 4 = x- 5 = y- facedir's two less significant bits are rotation around the axis paramtype2 == "leveled" - ^ The drawn node level is read from param2, like flowingliquid - + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + ^ defines list of collision boxes for the node. If empty, collision boxes + will be the same as nodeboxes, in case of any other nodes will be full cube + as in the example above. + Nodes can also contain extra data. See "Node Metadata". Node drawtypes diff --git a/src/collision.cpp b/src/collision.cpp index 76696e90d..edbee40b9 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -259,7 +259,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, continue; int n_bouncy_value = itemgroup_get(f.groups, "bouncy"); - std::vector nodeboxes = n.getNodeBoxes(gamedef->ndef()); + std::vector nodeboxes = n.getCollisionBoxes(gamedef->ndef()); for(std::vector::iterator i = nodeboxes.begin(); i != nodeboxes.end(); i++) diff --git a/src/mapnode.cpp b/src/mapnode.cpp index d52677be0..786224240 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -354,6 +354,15 @@ std::vector MapNode::getNodeBoxes(INodeDefManager *nodemgr) const return transformNodeBox(*this, f.node_box, nodemgr); } +std::vector MapNode::getCollisionBoxes(INodeDefManager *nodemgr) const +{ + const ContentFeatures &f = nodemgr->get(*this); + if (f.collision_box.fixed.empty()) + return transformNodeBox(*this, f.node_box, nodemgr); + else + return transformNodeBox(*this, f.collision_box, nodemgr); +} + std::vector MapNode::getSelectionBoxes(INodeDefManager *nodemgr) const { const ContentFeatures &f = nodemgr->get(*this); diff --git a/src/mapnode.h b/src/mapnode.h index f19885d87..d0b949e6f 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -217,8 +217,7 @@ struct MapNode void rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot); /* - Gets list of node boxes (used for rendering (NDT_NODEBOX) - and collision) + Gets list of node boxes (used for rendering (NDT_NODEBOX)) */ std::vector getNodeBoxes(INodeDefManager *nodemgr) const; @@ -227,6 +226,11 @@ struct MapNode */ std::vector getSelectionBoxes(INodeDefManager *nodemgr) const; + /* + Gets list of collision boxes + */ + std::vector getCollisionBoxes(INodeDefManager *nodemgr) const; + /* Liquid helpers */ u8 getMaxLevel(INodeDefManager *nodemgr) const; u8 getLevel(INodeDefManager *nodemgr) const; diff --git a/src/nodedef.cpp b/src/nodedef.cpp index ef61d0722..5735ef914 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -233,6 +233,7 @@ void ContentFeatures::reset() damage_per_second = 0; node_box = NodeBox(); selection_box = NodeBox(); + collision_box = NodeBox(); waving = 0; legacy_facedir_simple = false; legacy_wallmounted = false; @@ -303,6 +304,7 @@ void ContentFeatures::serialize(std::ostream &os, u16 protocol_version) // Stuff below should be moved to correct place in a version that otherwise changes // the protocol version os< Date: Mon, 20 Oct 2014 16:11:00 +0200 Subject: [PATCH 02/10] Fix memory leak caused by mesh nodes (and nodeboxes) --- src/nodedef.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 5735ef914..ee5505236 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -171,6 +171,12 @@ ContentFeatures::ContentFeatures() ContentFeatures::~ContentFeatures() { +#ifndef SERVER + for (u32 i = 0; i < 24; i++) { + if (mesh_ptr[i]) + mesh_ptr[i]->drop(); + } +#endif } void ContentFeatures::reset() From 9029a34cc6a3b19c1a431fe3ba069c30a13321fc Mon Sep 17 00:00:00 2001 From: Kahrl Date: Mon, 20 Oct 2014 16:11:38 +0200 Subject: [PATCH 03/10] Fix some indentation in nodedef.cpp --- src/nodedef.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/nodedef.cpp b/src/nodedef.cpp index ee5505236..2f95b68f9 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -857,12 +857,12 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef) //Cache 6dfacedir rotated clones of meshes if (f->mesh_ptr[0] && (f->param_type_2 == CPT2_FACEDIR)) { - for (u16 j = 1; j < 24; j++) { - f->mesh_ptr[j] = cloneMesh(f->mesh_ptr[0]); - rotateMeshBy6dFacedir(f->mesh_ptr[j], j); - recalculateBoundingBox(f->mesh_ptr[j]); - } + for (u16 j = 1; j < 24; j++) { + f->mesh_ptr[j] = cloneMesh(f->mesh_ptr[0]); + rotateMeshBy6dFacedir(f->mesh_ptr[j], j); + recalculateBoundingBox(f->mesh_ptr[j]); } + } } #endif } From d221917170c2bb43c66e5e09f2a43350cf28d71b Mon Sep 17 00:00:00 2001 From: RealBadAngel Date: Tue, 21 Oct 2014 05:12:15 +0200 Subject: [PATCH 04/10] Recalculate normals for cached meshes. Check if mesh is here before adding to meshcollector. Fix deleting the meshes. --- src/client.cpp | 4 ++++ src/client.h | 1 + src/content_mapblock.cpp | 12 +++++++----- src/gamedef.h | 2 ++ src/nodedef.cpp | 34 +++++++++++++++++++++++----------- src/server.cpp | 5 +++++ src/server.h | 3 ++- 7 files changed, 44 insertions(+), 17 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 7e74cf36b..c6319d584 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -2781,6 +2781,10 @@ IShaderSource* Client::getShaderSource() { return m_shsrc; } +scene::ISceneManager* Client::getSceneManager() +{ + return m_device->getSceneManager(); +} u16 Client::allocateUnknownNodeId(const std::string &name) { errorstream<<"Client::allocateUnknownNodeId(): " diff --git a/src/client.h b/src/client.h index e3b425a32..084f7be2c 100644 --- a/src/client.h +++ b/src/client.h @@ -447,6 +447,7 @@ public: virtual ICraftDefManager* getCraftDefManager(); virtual ITextureSource* getTextureSource(); virtual IShaderSource* getShaderSource(); + virtual scene::ISceneManager* getSceneManager(); virtual u16 allocateUnknownNodeId(const std::string &name); virtual ISoundManager* getSoundManager(); virtual MtEventManager* getEventManager(); diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index 996db421b..527086b89 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -1720,11 +1720,13 @@ void mapblock_mesh_generate_special(MeshMakeData *data, v3f pos = intToFloat(p, BS); video::SColor c = MapBlock_LightColor(255, getInteriorLight(n, 1, nodedef), f.light_source); u8 facedir = n.getFaceDir(nodedef); - for(u16 j = 0; j < f.mesh_ptr[facedir]->getMeshBufferCount(); j++) { - scene::IMeshBuffer *buf = f.mesh_ptr[facedir]->getMeshBuffer(j); - collector.append(getNodeTileN(n, p, j, data), - (video::S3DVertex *)buf->getVertices(), buf->getVertexCount(), - buf->getIndices(), buf->getIndexCount(), pos, c); + if (f.mesh_ptr[facedir]) { + for(u16 j = 0; j < f.mesh_ptr[facedir]->getMeshBufferCount(); j++) { + scene::IMeshBuffer *buf = f.mesh_ptr[facedir]->getMeshBuffer(j); + collector.append(getNodeTileN(n, p, j, data), + (video::S3DVertex *)buf->getVertices(), buf->getVertexCount(), + buf->getIndices(), buf->getIndexCount(), pos, c); + } } break;} } diff --git a/src/gamedef.h b/src/gamedef.h index 6da288bad..b7830373b 100644 --- a/src/gamedef.h +++ b/src/gamedef.h @@ -33,6 +33,7 @@ class MtEventManager; class IRollbackReportSink; namespace irr { namespace scene { class IAnimatedMesh; + class ISceneManager; }} /* @@ -63,6 +64,7 @@ public: virtual MtEventManager* getEventManager()=0; virtual scene::IAnimatedMesh* getMesh(const std::string &filename) { return NULL; } + virtual scene::ISceneManager* getSceneManager()=0; // Only usable on the server, and NOT thread-safe. It is usable from the // environment thread. diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 2f95b68f9..cf30d76b3 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef SERVER #include "tile.h" #include "mesh.h" +#include #endif #include "log.h" #include "settings.h" @@ -171,12 +172,6 @@ ContentFeatures::ContentFeatures() ContentFeatures::~ContentFeatures() { -#ifndef SERVER - for (u32 i = 0; i < 24; i++) { - if (mesh_ptr[i]) - mesh_ptr[i]->drop(); - } -#endif } void ContentFeatures::reset() @@ -446,6 +441,15 @@ CNodeDefManager::CNodeDefManager() CNodeDefManager::~CNodeDefManager() { +#ifndef SERVER + for (u32 i = 0; i < m_content_features.size(); i++) { + ContentFeatures *f = &m_content_features[i]; + for (u32 j = 0; j < 24; j++) { + if (f->mesh_ptr[j]) + f->mesh_ptr[j]->drop(); + } + } +#endif } @@ -695,6 +699,8 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef) ITextureSource *tsrc = gamedef->tsrc(); IShaderSource *shdsrc = gamedef->getShaderSource(); + scene::ISceneManager* smgr = gamedef->getSceneManager(); + scene::IMeshManipulator* meshmanip = smgr->getMeshManipulator(); bool new_style_water = g_settings->getBool("new_style_water"); bool new_style_leaves = g_settings->getBool("new_style_leaves"); @@ -840,18 +846,23 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef) // Read the mesh and apply scale if ((f->drawtype == NDT_MESH) && (f->mesh != "")) { f->mesh_ptr[0] = gamedef->getMesh(f->mesh); - scaleMesh(f->mesh_ptr[0], v3f(f->visual_scale,f->visual_scale,f->visual_scale)); - recalculateBoundingBox(f->mesh_ptr[0]); + if (f->mesh_ptr[0]){ + v3f scale = v3f(1.0, 1.0, 1.0) * BS * f->visual_scale; + scaleMesh(f->mesh_ptr[0], scale); + recalculateBoundingBox(f->mesh_ptr[0]); + } } //Convert regular nodebox nodes to meshnodes //Change the drawtype and apply scale - if ((f->drawtype == NDT_NODEBOX) && - ((f->node_box.type == NODEBOX_REGULAR) || (f->node_box.type == NODEBOX_FIXED)) && + else if ((f->drawtype == NDT_NODEBOX) && + ((f->node_box.type == NODEBOX_REGULAR) || + (f->node_box.type == NODEBOX_FIXED)) && (!f->node_box.fixed.empty())) { f->drawtype = NDT_MESH; f->mesh_ptr[0] = convertNodeboxNodeToMesh(f); - scaleMesh(f->mesh_ptr[0], v3f(f->visual_scale,f->visual_scale,f->visual_scale)); + v3f scale = v3f(1.0, 1.0, 1.0) * f->visual_scale; + scaleMesh(f->mesh_ptr[0], scale); recalculateBoundingBox(f->mesh_ptr[0]); } @@ -861,6 +872,7 @@ void CNodeDefManager::updateTextures(IGameDef *gamedef) f->mesh_ptr[j] = cloneMesh(f->mesh_ptr[0]); rotateMeshBy6dFacedir(f->mesh_ptr[j], j); recalculateBoundingBox(f->mesh_ptr[j]); + meshmanip->recalculateNormals(f->mesh_ptr[j], false, false); } } } diff --git a/src/server.cpp b/src/server.cpp index 6afe600ed..d4d9816dd 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4890,6 +4890,11 @@ IShaderSource* Server::getShaderSource() { return NULL; } +scene::ISceneManager* Server::getSceneManager() +{ + return NULL; +} + u16 Server::allocateUnknownNodeId(const std::string &name) { return m_nodedef->allocateDummy(name); diff --git a/src/server.h b/src/server.h index cb0bacece..7233ffbe8 100644 --- a/src/server.h +++ b/src/server.h @@ -290,7 +290,8 @@ public: virtual ISoundManager* getSoundManager(); virtual MtEventManager* getEventManager(); virtual IRollbackReportSink* getRollbackReportSink(); - + virtual scene::ISceneManager* getSceneManager(); + IWritableItemDefManager* getWritableItemDefManager(); IWritableNodeDefManager* getWritableNodeDefManager(); IWritableCraftDefManager* getWritableCraftDefManager(); From fd5eaae2babb322f8a3e2acab55a12e218814c8e Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 6 Sep 2014 13:21:46 -0400 Subject: [PATCH 05/10] Search for subgames using $MINETEST_SUBGAME_PATH. --- doc/minetest.6 | 6 ++++++ src/subgame.cpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/doc/minetest.6 b/doc/minetest.6 index d94c12cb6..ff5452029 100644 --- a/doc/minetest.6 +++ b/doc/minetest.6 @@ -83,6 +83,12 @@ Set world path Migrate from current map backend to another. Possible values are sqlite3 and leveldb. Only works when using --server. +.SH ENVIRONMENT VARIABLES + +.TP +MINETEST_SUBGAME_PATH +Colon delimited list of directories to search for subgames. + .SH BUGS Please report all bugs to Perttu Ahola . diff --git a/src/subgame.cpp b/src/subgame.cpp index f2465c93e..e86655bc1 100644 --- a/src/subgame.cpp +++ b/src/subgame.cpp @@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "filesys.h" #include "settings.h" #include "log.h" +#include "strfnd.h" #ifndef SERVER #include "tile.h" // getImagePath #endif @@ -59,6 +60,17 @@ struct GameFindPath {} }; +Strfnd getSubgamePathEnv() { + std::string sp; + char *subgame_path = getenv("MINETEST_SUBGAME_PATH"); + + if(subgame_path) { + sp = std::string(subgame_path); + } + + return Strfnd(sp); +} + SubgameSpec findSubgame(const std::string &id) { if(id == "") @@ -66,6 +78,17 @@ SubgameSpec findSubgame(const std::string &id) std::string share = porting::path_share; std::string user = porting::path_user; std::vector find_paths; + + Strfnd search_paths = getSubgamePathEnv(); + + while(!search_paths.atend()) { + std::string path = search_paths.next(":"); + find_paths.push_back(GameFindPath( + path + DIR_DELIM + id, false)); + find_paths.push_back(GameFindPath( + path + DIR_DELIM + id + "_game", false)); + } + find_paths.push_back(GameFindPath( user + DIR_DELIM + "games" + DIR_DELIM + id + "_game", true)); find_paths.push_back(GameFindPath( @@ -129,6 +152,13 @@ std::set getAvailableGameIds() std::set gamespaths; gamespaths.insert(porting::path_share + DIR_DELIM + "games"); gamespaths.insert(porting::path_user + DIR_DELIM + "games"); + + Strfnd search_paths = getSubgamePathEnv(); + + while(!search_paths.atend()) { + gamespaths.insert(search_paths.next(":")); + } + for(std::set::const_iterator i = gamespaths.begin(); i != gamespaths.end(); i++){ std::vector dirlist = fs::GetDirListing(*i); From 31a8a8022a8ab4b2d341821ae1987d19b0436a0e Mon Sep 17 00:00:00 2001 From: Rui Date: Mon, 13 Oct 2014 18:03:48 +0900 Subject: [PATCH 06/10] Translated using Weblate (Japanese) --- po/ja/minetest.po | 254 +++++++++++++--------------------------------- 1 file changed, 68 insertions(+), 186 deletions(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index c0530b553..a81200838 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -8,18 +8,17 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-11-23 17:37+0100\n" -"PO-Revision-Date: 2013-03-07 23:06+0200\n" -"Last-Translator: Mitori Itoshiki \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2014-09-30 1:00+0200\n" +"Last-Translator: Rui Takeda\n" +"Language-Team: Japanese\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 1.4-dev\n" +"X-Generator: Weblate 1.7-dev\n" #: builtin/gamemgr.lua:23 -#, fuzzy msgid "Game Name" msgstr "ゲーム名" @@ -38,10 +37,9 @@ msgstr "Gamemgr:\"$1\"のModを\"$2\"にコピーできません" #: builtin/gamemgr.lua:216 msgid "GAMES" -msgstr "" +msgstr "GAMES" #: builtin/gamemgr.lua:217 builtin/mainmenu.lua:1076 -#, fuzzy msgid "Games" msgstr "ゲーム" @@ -51,15 +49,15 @@ msgstr "Mod" #: builtin/gamemgr.lua:235 msgid "edit game" -msgstr "" +msgstr "ゲーム編集" #: builtin/gamemgr.lua:238 msgid "new game" -msgstr "" +msgstr "新規ゲーム" #: builtin/gamemgr.lua:248 msgid "EDIT GAME" -msgstr "" +msgstr "EDIT GAME" #: builtin/gamemgr.lua:269 msgid "Remove selected mod" @@ -67,7 +65,7 @@ msgstr "選択したModを削除" #: builtin/gamemgr.lua:272 msgid "<<-- Add mod" -msgstr "" +msgstr "<<-- Mod追加" #: builtin/mainmenu.lua:158 msgid "Ok" @@ -90,7 +88,6 @@ msgid "Game" msgstr "ゲーム" #: builtin/mainmenu.lua:319 -#, fuzzy msgid "Delete World \"$1\"?" msgstr "\"$1\"のワールドを削除しますか?" @@ -103,13 +100,12 @@ msgid "No" msgstr "いいえ" #: builtin/mainmenu.lua:364 -#, fuzzy msgid "A world named \"$1\" already exists" msgstr "\"$1\"という名前のワールドを作成できません。同名のワールドが存在しています" #: builtin/mainmenu.lua:381 msgid "No worldname given or no game selected" -msgstr "ワールド名が入力されていないか、ゲームが選択されていません" +msgstr "ワールド名が入力されていないか、ゲームが選択されていません" #: builtin/mainmenu.lua:650 msgid "To enable shaders the OpenGL driver needs to be used." @@ -117,10 +113,9 @@ msgstr "シェーダーを有効にするには、OpenGLのドライバ #: builtin/mainmenu.lua:818 msgid "CLIENT" -msgstr "" +msgstr "CLIENT" #: builtin/mainmenu.lua:819 -#, fuzzy msgid "Favorites:" msgstr "お気に入り:" @@ -154,9 +149,8 @@ msgid "Configure" msgstr "設定" #: builtin/mainmenu.lua:877 -#, fuzzy msgid "Start Game" -msgstr "ゲーム開始 / 接続" +msgstr "プレイ" #: builtin/mainmenu.lua:878 builtin/mainmenu.lua:941 msgid "Select World:" @@ -164,7 +158,7 @@ msgstr "ワールド選択:" #: builtin/mainmenu.lua:879 msgid "START SERVER" -msgstr "" +msgstr "START SERVER" #: builtin/mainmenu.lua:880 builtin/mainmenu.lua:943 msgid "Creative Mode" @@ -175,7 +169,6 @@ msgid "Enable Damage" msgstr "ダメージ有効" #: builtin/mainmenu.lua:884 -#, fuzzy msgid "Public" msgstr "公開する" @@ -184,7 +177,6 @@ msgid "Name" msgstr "名前" #: builtin/mainmenu.lua:888 -#, fuzzy msgid "Password" msgstr "パスワード" @@ -194,23 +186,21 @@ msgstr "ポート" #: builtin/mainmenu.lua:899 msgid "SETTINGS" -msgstr "" +msgstr "SETTINGS" #: builtin/mainmenu.lua:900 msgid "Fancy trees" msgstr "きれいな木" #: builtin/mainmenu.lua:902 -#, fuzzy msgid "Smooth Lighting" -msgstr "自然な光表現" +msgstr "自然な光" #: builtin/mainmenu.lua:904 msgid "3D Clouds" msgstr "立体な雲" #: builtin/mainmenu.lua:906 -#, fuzzy msgid "Opaque Water" msgstr "不透明な水面" @@ -240,7 +230,7 @@ msgstr "アイテムの外観をプリロード" #: builtin/mainmenu.lua:922 msgid "Enable Particles" -msgstr "破片を表示" +msgstr "破片の有効化" #: builtin/mainmenu.lua:924 msgid "Finite Liquid" @@ -252,11 +242,11 @@ msgstr "キー割当て変更" #: builtin/mainmenu.lua:940 src/keycode.cpp:248 msgid "Play" -msgstr "プレイ" +msgstr "プレイ" #: builtin/mainmenu.lua:942 msgid "SINGLE PLAYER" -msgstr "" +msgstr "SINGLE PLAYER" #: builtin/mainmenu.lua:955 msgid "Select texture pack:" @@ -264,7 +254,7 @@ msgstr "テクスチャパックを選択:" #: builtin/mainmenu.lua:956 msgid "TEXTURE PACKS" -msgstr "" +msgstr "TEXTURE PACKS" #: builtin/mainmenu.lua:976 msgid "No information available" @@ -312,7 +302,7 @@ msgstr "クレジット" #: builtin/modmgr.lua:236 msgid "MODS" -msgstr "" +msgstr "MODS" #: builtin/modmgr.lua:237 msgid "Installed Mods:" @@ -355,17 +345,14 @@ msgid "Rename Modpack:" msgstr "Modパックの名前を変更" #: builtin/modmgr.lua:329 src/keycode.cpp:227 -#, fuzzy msgid "Accept" msgstr "了承" #: builtin/modmgr.lua:423 -#, fuzzy msgid "World:" msgstr "ワールド:" #: builtin/modmgr.lua:427 builtin/modmgr.lua:429 -#, fuzzy msgid "Hide Game" msgstr "内部Modを非表示" @@ -378,7 +365,6 @@ msgid "Mod:" msgstr "Mod:" #: builtin/modmgr.lua:444 -#, fuzzy msgid "Depends:" msgstr "依存Mod:" @@ -387,12 +373,10 @@ msgid "Save" msgstr "保存" #: builtin/modmgr.lua:464 -#, fuzzy msgid "Enable MP" msgstr "Modパックを有効化" #: builtin/modmgr.lua:466 -#, fuzzy msgid "Disable MP" msgstr "Modパックを無効化" @@ -401,128 +385,131 @@ msgid "enabled" msgstr "有効化" #: builtin/modmgr.lua:478 -#, fuzzy msgid "Enable all" msgstr "全て有効化" #: builtin/modmgr.lua:577 -#, fuzzy msgid "Select Mod File:" msgstr "Modファイル選択:" #: builtin/modmgr.lua:616 msgid "Install Mod: file: \"$1\"" -msgstr "" +msgstr "Modインストール: ファイル: \"$1\"" #: builtin/modmgr.lua:617 msgid "" "\n" "Install Mod: unsupported filetype \"$1\"" msgstr "" +"\n" +"Modインストール: \"$1\"のファイルは対応していません" #: builtin/modmgr.lua:638 -#, fuzzy msgid "Failed to install $1 to $2" -msgstr "" +msgstr "$1から$2にインストールできませんでした" #: builtin/modmgr.lua:641 msgid "Install Mod: unable to find suitable foldername for modpack $1" -msgstr "" +msgstr "Modインストール: Modパック「$1」のフォルダが見つかりませんでした" #: builtin/modmgr.lua:661 msgid "Install Mod: unable to find real modname for: $1" -msgstr "" +msgstr "Modインストール: Mod「$1」のフォルダが見つかりませんでした" #: builtin/modmgr.lua:855 msgid "Modmgr: failed to delete \"$1\"" -msgstr "" +msgstr "Modmgr: \"$1\"の削除に失敗しました" #: builtin/modmgr.lua:859 msgid "Modmgr: invalid modpath \"$1\"" -msgstr "" +msgstr "Modmgr: \"$1\"は無効なModパスです" #: builtin/modmgr.lua:876 msgid "Are you sure you want to delete \"$1\"?" -msgstr "" +msgstr "\"$1\"を削除してよろしいですか?" #: builtin/modmgr.lua:878 msgid "No of course not!" -msgstr "" +msgstr "違います!" #: builtin/modstore.lua:183 msgid "Page $1 of $2" -msgstr "" +msgstr "ページ $1/$2" #: builtin/modstore.lua:243 msgid "Rating" -msgstr "" +msgstr "評価" #: builtin/modstore.lua:251 msgid "re-Install" -msgstr "" +msgstr "再インストール" #: builtin/modstore.lua:253 msgid "Install" -msgstr "" +msgstr "インストール" + +#client #: src/client.cpp:2917 msgid "Item textures..." -msgstr "" +msgstr "アイテムのテクスチャ設定中..." #: src/game.cpp:940 msgid "Loading..." -msgstr "" +msgstr "読み込み中..." #: src/game.cpp:1000 msgid "Creating server...." -msgstr "" +msgstr "サーバー構築中..." #: src/game.cpp:1016 msgid "Creating client..." -msgstr "" +msgstr "クライアント作成中..." #: src/game.cpp:1025 msgid "Resolving address..." -msgstr "" +msgstr "アドレス解決中..." #: src/game.cpp:1122 msgid "Connecting to server..." -msgstr "" +msgstr "サーバー接続中..." #: src/game.cpp:1219 msgid "Item definitions..." -msgstr "" +msgstr "アイテム定義中..." #: src/game.cpp:1226 msgid "Node definitions..." -msgstr "" +msgstr "ノード定義中..." #: src/game.cpp:1233 msgid "Media..." -msgstr "" +msgstr "読み込み中..." #: src/game.cpp:3409 msgid "Shutting down stuff..." -msgstr "" +msgstr "終了中..." #: src/game.cpp:3439 msgid "" "\n" "Check debug.txt for details." msgstr "" +"\n" +"詳細はdebug.txtを御覧ください。" #: src/guiDeathScreen.cpp:96 msgid "You died." -msgstr "死にました" +msgstr "You died!" #: src/guiDeathScreen.cpp:104 msgid "Respawn" -msgstr "リスポーン" +msgstr "Respawn" #: src/guiFormSpecMenu.cpp:1656 src/guiMessageMenu.cpp:107 #: src/guiTextInputMenu.cpp:139 msgid "Proceed" -msgstr "続く" +msgstr "続ける" #: src/guiKeyChangeMenu.cpp:121 msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" @@ -530,11 +517,11 @@ msgstr "キーバインド" #: src/guiKeyChangeMenu.cpp:161 msgid "\"Use\" = climb down" -msgstr "「使う」は下りる" +msgstr "「\"Use\"」で降りる" #: src/guiKeyChangeMenu.cpp:176 msgid "Double tap \"jump\" to toggle fly" -msgstr "「ジャンプ」を二回押すと飛べる" +msgstr "「\"jump\"」の二回押しで飛行" #: src/guiKeyChangeMenu.cpp:288 msgid "Key already in use" @@ -638,7 +625,7 @@ msgstr "続ける" #: src/guiPauseMenu.cpp:133 msgid "Change Password" -msgstr "パスワードの変更" +msgstr "パスワード変更" #: src/guiPauseMenu.cpp:143 msgid "Sound Volume" @@ -646,7 +633,7 @@ msgstr "音量" #: src/guiPauseMenu.cpp:152 msgid "Exit to Menu" -msgstr "タイトル" +msgstr "タイトルへ戻る" #: src/guiPauseMenu.cpp:161 msgid "Exit to OS" @@ -780,7 +767,7 @@ msgstr "Home" #: src/keycode.cpp:227 msgid "Mode Change" -msgstr "モードを変更" +msgstr "モード変更" #: src/keycode.cpp:227 msgid "Next" @@ -791,136 +778,110 @@ msgid "Prior" msgstr "Page Up" #: src/keycode.cpp:227 -#, fuzzy msgid "Space" msgstr "Space" #: src/keycode.cpp:228 -#, fuzzy msgid "Down" msgstr "Down" #: src/keycode.cpp:228 -#, fuzzy msgid "Execute" msgstr "Execute" #: src/keycode.cpp:228 -#, fuzzy msgid "Print" msgstr "Print" #: src/keycode.cpp:228 -#, fuzzy msgid "Select" msgstr "Select" #: src/keycode.cpp:228 -#, fuzzy msgid "Up" msgstr "Up" #: src/keycode.cpp:229 -#, fuzzy msgid "Help" -msgstr "Help" +msgstr "ヘルプ" #: src/keycode.cpp:229 msgid "Insert" msgstr "Insert" #: src/keycode.cpp:229 -#, fuzzy msgid "Snapshot" msgstr "Snapshot" #: src/keycode.cpp:232 -#, fuzzy msgid "Left Windows" -msgstr "Left Windows" +msgstr "左Windows" #: src/keycode.cpp:233 -#, fuzzy msgid "Apps" msgstr "Apps" #: src/keycode.cpp:233 -#, fuzzy msgid "Numpad 0" msgstr "Numpad 0" #: src/keycode.cpp:233 -#, fuzzy msgid "Numpad 1" msgstr "Numpad 1" #: src/keycode.cpp:233 -#, fuzzy msgid "Right Windows" -msgstr "Right Windows" +msgstr "右Windows" #: src/keycode.cpp:233 -#, fuzzy msgid "Sleep" msgstr "Sleep" #: src/keycode.cpp:234 -#, fuzzy msgid "Numpad 2" msgstr "Numpad 2" #: src/keycode.cpp:234 -#, fuzzy msgid "Numpad 3" msgstr "Numpad 3" #: src/keycode.cpp:234 -#, fuzzy msgid "Numpad 4" msgstr "Numpad 4" #: src/keycode.cpp:234 -#, fuzzy msgid "Numpad 5" msgstr "Numpad 5" #: src/keycode.cpp:234 -#, fuzzy msgid "Numpad 6" msgstr "Numpad 6" #: src/keycode.cpp:234 -#, fuzzy msgid "Numpad 7" msgstr "Numpad 7" #: src/keycode.cpp:235 -#, fuzzy msgid "Numpad *" msgstr "Numpad *" #: src/keycode.cpp:235 -#, fuzzy msgid "Numpad +" msgstr "Numpad +" #: src/keycode.cpp:235 -#, fuzzy msgid "Numpad -" msgstr "Numpad -" #: src/keycode.cpp:235 -#, fuzzy msgid "Numpad /" msgstr "Numpad /" #: src/keycode.cpp:235 -#, fuzzy msgid "Numpad 8" msgstr "Numpad 8" #: src/keycode.cpp:235 -#, fuzzy msgid "Numpad 9" msgstr "Numpad 9" @@ -961,47 +922,38 @@ msgid "Comma" msgstr "読点" #: src/keycode.cpp:243 -#, fuzzy msgid "Minus" -msgstr "Minus" +msgstr "ー" #: src/keycode.cpp:243 -#, fuzzy msgid "Period" -msgstr "Period" +msgstr "." #: src/keycode.cpp:243 -#, fuzzy msgid "Plus" -msgstr "Plus" +msgstr "プラス" #: src/keycode.cpp:247 -#, fuzzy msgid "Attn" -msgstr "Attn" +msgstr ":" #: src/keycode.cpp:247 -#, fuzzy msgid "CrSel" msgstr "CrSel" #: src/keycode.cpp:248 -#, fuzzy msgid "Erase OEF" msgstr "Erase OEF" #: src/keycode.cpp:248 -#, fuzzy msgid "ExSel" msgstr "ExSel" #: src/keycode.cpp:248 -#, fuzzy msgid "OEM Clear" msgstr "OEM Clear" #: src/keycode.cpp:248 -#, fuzzy msgid "PA1" msgstr "PA1" @@ -1011,7 +963,7 @@ msgstr "ズーム" #: src/main.cpp:1472 msgid "needs_fallback_font" -msgstr "yes" +msgstr "fallback_fontが必要" #: src/main.cpp:1547 msgid "Main Menu" @@ -1019,86 +971,16 @@ msgstr "メインメニュー" #: src/main.cpp:1723 msgid "No world selected and no address provided. Nothing to do." -msgstr "" +msgstr "ワールドが選択できていないか、アドレスが入力されていません。そのため実行されません。" #: src/main.cpp:1731 msgid "Could not find or load game \"" -msgstr "ゲームの読み込みか、見つけるのに失敗" +msgstr "\""のゲームの読み込みか検索に失敗" #: src/main.cpp:1745 msgid "Invalid gamespec." -msgstr "" +msgstr "無効なgamespecです" #: src/main.cpp:1790 msgid "Connection error (timed out?)" -msgstr "接続エラー (タイムアウト)" - -#~ msgid "" -#~ "Warning: Some mods are not configured yet.\n" -#~ "They will be enabled by default when you save the configuration. " -#~ msgstr "" -#~ "警告: マインテストの改造がいくつか設定されていません。\n" -#~ "これらを設定を保存すると自動で有効化されます。 " - -#~ msgid "" -#~ "Warning: Some configured mods are missing.\n" -#~ "Their setting will be removed when you save the configuration. " -#~ msgstr "" -#~ "警告: いくつかの設定みの改造ファイルが見つかりません.\n" -#~ "これらの情報は設定を保存すると削除されます. " - -#~ msgid "Failed to delete all world files" -#~ msgstr "ワールドファイルの全ての削除に失敗" - -#~ msgid "Cannot configure world: Nothing selected" -#~ msgstr "ワールドの設定ができません: 何も選択されていません" - -#~ msgid "Cannot create world: No games found" -#~ msgstr "ワールドを作成できません: ゲームが見つかりませんでした" - -#~ msgid "Files to be deleted" -#~ msgstr "削除されるファイル" - -#~ msgid "Cannot delete world: Nothing selected" -#~ msgstr "ワールドを削除できません: 何も選択されていません" - -#~ msgid "Address required." -#~ msgstr "アドレスが必要です." - -#~ msgid "Create world" -#~ msgstr "ワールド作成" - -#~ msgid "Leave address blank to start a local server." -#~ msgstr "アドレスを入力しないかぎりロカルサーバーを開始。" - -#~ msgid "Show Favorites" -#~ msgstr "お気に入りを見せる" - -#~ msgid "Show Public" -#~ msgstr "公共を見せる" - -#~ msgid "Advanced" -#~ msgstr "高度" - -#~ msgid "Multiplayer" -#~ msgstr "マルチプレイヤー" - -#~ msgid "Cannot create world: Name contains invalid characters" -#~ msgstr "ワールドを作成できません: 名前に無効な文字が含まれています" - -#~ msgid "Warning: Configuration not consistent. " -#~ msgstr "注意:設定が一定でわありません。" - -#~ msgid "Configuration saved. " -#~ msgstr "設定を保存しました. " - -#~ msgid "is required by:" -#~ msgstr "この改造に必要されます:" - -#~ msgid "Left click: Move all items, Right click: Move single item" -#~ msgstr "" -#~ "左クリックは全部のアイテムを動かす,右クリックは一つのアイテムを動かす" - -#, fuzzy -#~ msgid "Download" -#~ msgstr "Down" +msgstr "接続エラー(タイムアウト)" From 171bbd7959cbbc4bafee2caef61922dbcc51459b Mon Sep 17 00:00:00 2001 From: srifqi Date: Mon, 20 Oct 2014 17:34:21 +0700 Subject: [PATCH 07/10] Add Indonesian Language --- po/id/minetest.po | 982 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 982 insertions(+) create mode 100644 po/id/minetest.po diff --git a/po/id/minetest.po b/po/id/minetest.po new file mode 100644 index 000000000..28204cbd6 --- /dev/null +++ b/po/id/minetest.po @@ -0,0 +1,982 @@ +# Indonesian translation for minetest-c55 package. +# Copyright (C) 2014 srifqi +# This file is distributed under the same license as the PACKAGE package. +# Muhammad Rifqi Priyo Susanto , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: minetest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-11-23 17:37+0100\n" +"PO-Revision-Date: 2014-06-30 11:17+0700\n" +"Last-Translator: Muhammad Rifqi Priyo Susanto \n" +"Language-Team: Bahasa Indonesia <>\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: builtin/gamemgr.lua:23 +msgid "Game Name" +msgstr "Nama Permainan" + +#: builtin/gamemgr.lua:25 builtin/mainmenu.lua:310 +msgid "Create" +msgstr "Buat" + +#: builtin/gamemgr.lua:26 builtin/mainmenu.lua:311 builtin/modmgr.lua:331 +#: builtin/modmgr.lua:448 src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223 +msgid "Cancel" +msgstr "Batalkan" + +#: builtin/gamemgr.lua:118 +msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\"" +msgstr "Gamemgr: Tidak dapat menyalin mod \"$1\" ke permainan \"$2\"" + +#: builtin/gamemgr.lua:216 +msgid "GAMES" +msgstr "PERMAINAN" + +#: builtin/gamemgr.lua:217 builtin/mainmenu.lua:1076 +msgid "Games" +msgstr "Permainan" + +#: builtin/gamemgr.lua:234 +msgid "Mods:" +msgstr "Mods:" + +#: builtin/gamemgr.lua:235 +msgid "edit game" +msgstr "sunting permainan" + +#: builtin/gamemgr.lua:238 +msgid "new game" +msgstr "permainan baru" + +#: builtin/gamemgr.lua:248 +msgid "EDIT GAME" +msgstr "SUNTING PERMAINAN" + +#: builtin/gamemgr.lua:269 +msgid "Remove selected mod" +msgstr "Cabut mod terpilih" + +#: builtin/gamemgr.lua:272 +msgid "<<-- Add mod" +msgstr "<<-- Tambah mod" + +#: builtin/mainmenu.lua:158 +msgid "Ok" +msgstr "Oke" + +#: builtin/mainmenu.lua:297 +msgid "World name" +msgstr "Nama Dunia" + +#: builtin/mainmenu.lua:300 +msgid "Seed" +msgstr "Benih" + +#: builtin/mainmenu.lua:303 +msgid "Mapgen" +msgstr "Generator peta" + +#: builtin/mainmenu.lua:306 +msgid "Game" +msgstr "Permainan" + +#: builtin/mainmenu.lua:319 +msgid "Delete World \"$1\"?" +msgstr "Hapus Dunia \"$1\"" + +#: builtin/mainmenu.lua:320 builtin/modmgr.lua:877 +msgid "Yes" +msgstr "Ya" + +#: builtin/mainmenu.lua:321 +msgid "No" +msgstr "Tidak" + +#: builtin/mainmenu.lua:364 +msgid "A world named \"$1\" already exists" +msgstr "Sebuah dunia bernama \"$1\" telah ada" + +#: builtin/mainmenu.lua:381 +msgid "No worldname given or no game selected" +msgstr "Tidak disebutkan nama dunia atau tidak ada permainan yang dipilih" + +#: builtin/mainmenu.lua:650 +msgid "To enable shaders the OpenGL driver needs to be used." +msgstr "Untuk mengaktifkan shaders dibutuhkan OpenGL driver" + +#: builtin/mainmenu.lua:818 +msgid "CLIENT" +msgstr "KLIEN" + +#: builtin/mainmenu.lua:819 +msgid "Favorites:" +msgstr "Favorit:" + +#: builtin/mainmenu.lua:820 +msgid "Address/Port" +msgstr "Alamat/Port" + +#: builtin/mainmenu.lua:821 +msgid "Name/Password" +msgstr "Nama/Kata sandi" + +#: builtin/mainmenu.lua:824 +msgid "Public Serverlist" +msgstr "Daftar Server Publik" + +#: builtin/mainmenu.lua:829 builtin/mainmenu.lua:874 builtin/mainmenu.lua:937 +#: src/keycode.cpp:229 +msgid "Delete" +msgstr "Hapus" + +#: builtin/mainmenu.lua:833 +msgid "Connect" +msgstr "Hubungkan" + +#: builtin/mainmenu.lua:875 builtin/mainmenu.lua:938 +msgid "New" +msgstr "Baru" + +#: builtin/mainmenu.lua:876 builtin/mainmenu.lua:939 +msgid "Configure" +msgstr "Konfigurasi" + +#: builtin/mainmenu.lua:877 +msgid "Start Game" +msgstr "Mulai Permainan" + +#: builtin/mainmenu.lua:878 builtin/mainmenu.lua:941 +msgid "Select World:" +msgstr "Pilih Dunia:" + +#: builtin/mainmenu.lua:879 +msgid "START SERVER" +msgstr "MULAI SERVER" + +#: builtin/mainmenu.lua:880 builtin/mainmenu.lua:943 +msgid "Creative Mode" +msgstr "Mode Kreatif" + +#: builtin/mainmenu.lua:882 builtin/mainmenu.lua:945 +msgid "Enable Damage" +msgstr "Aktifkan Kerusakan" + +#: builtin/mainmenu.lua:884 +msgid "Public" +msgstr "Publik" + +#: builtin/mainmenu.lua:886 +msgid "Name" +msgstr "Nama" + +#: builtin/mainmenu.lua:888 +msgid "Password" +msgstr "Kata Sandi" + +#: builtin/mainmenu.lua:889 +msgid "Server Port" +msgstr "Port Server" + +#: builtin/mainmenu.lua:899 +msgid "SETTINGS" +msgstr "PENGATURAN" + +#: builtin/mainmenu.lua:900 +msgid "Fancy trees" +msgstr "Pohon yang mewah" + +#: builtin/mainmenu.lua:902 +msgid "Smooth Lighting" +msgstr "Pencahayaan Halus" + +#: builtin/mainmenu.lua:904 +msgid "3D Clouds" +msgstr "Awan 3D" + +#: builtin/mainmenu.lua:906 +msgid "Opaque Water" +msgstr "Air Buram" + +#: builtin/mainmenu.lua:909 +msgid "Mip-Mapping" +msgstr "Mip-Mapping" + +#: builtin/mainmenu.lua:911 +msgid "Anisotropic Filtering" +msgstr "Anisotropic Filtering" + +#: builtin/mainmenu.lua:913 +msgid "Bi-Linear Filtering" +msgstr "Bi-Linear Filtering" + +#: builtin/mainmenu.lua:915 +msgid "Tri-Linear Filtering" +msgstr "Tri-Linear Filtering" + +#: builtin/mainmenu.lua:918 +msgid "Shaders" +msgstr "Shaders" + +#: builtin/mainmenu.lua:920 +msgid "Preload item visuals" +msgstr "Pramuat konten visual" + +#: builtin/mainmenu.lua:922 +msgid "Enable Particles" +msgstr "Aktifkan Partikel" + +#: builtin/mainmenu.lua:924 +msgid "Finite Liquid" +msgstr "Benda Cair Terbatas" + +#: builtin/mainmenu.lua:927 +msgid "Change keys" +msgstr "Ubah tombol" + +#: builtin/mainmenu.lua:940 src/keycode.cpp:248 +msgid "Play" +msgstr "Mulai" + +#: builtin/mainmenu.lua:942 +msgid "SINGLE PLAYER" +msgstr "SATU PEMAIN" + +#: builtin/mainmenu.lua:955 +msgid "Select texture pack:" +msgstr "Pilih pak tekstur:" + +#: builtin/mainmenu.lua:956 +msgid "TEXTURE PACKS" +msgstr "PAK TEKSTUR" + +#: builtin/mainmenu.lua:976 +msgid "No information available" +msgstr "Tidak ada informasi tersedia" + +#: builtin/mainmenu.lua:1005 +msgid "Core Developers" +msgstr "Pengembang Inti" + +#: builtin/mainmenu.lua:1020 +msgid "Active Contributors" +msgstr "Kontributor Aktif" + +#: builtin/mainmenu.lua:1028 +msgid "Previous Contributors" +msgstr "Kontributor Sebelumnya" + +#: builtin/mainmenu.lua:1069 +msgid "Singleplayer" +msgstr "Satu pemain" + +#: builtin/mainmenu.lua:1070 +msgid "Client" +msgstr "Klien" + +#: builtin/mainmenu.lua:1071 +msgid "Server" +msgstr "Server" + +#: builtin/mainmenu.lua:1072 +msgid "Settings" +msgstr "Pengaturan" + +#: builtin/mainmenu.lua:1073 +msgid "Texture Packs" +msgstr "Paket Tekstur" + +#: builtin/mainmenu.lua:1080 +msgid "Mods" +msgstr "Mod" + +#: builtin/mainmenu.lua:1082 +msgid "Credits" +msgstr "Daftar Penghargaan" + +#: builtin/modmgr.lua:236 +msgid "MODS" +msgstr "MOD" + +#: builtin/modmgr.lua:237 +msgid "Installed Mods:" +msgstr "Mod Terpasang:" + +#: builtin/modmgr.lua:243 +msgid "Add mod:" +msgstr "Tambah mod:" + +#: builtin/modmgr.lua:244 +msgid "Local install" +msgstr "Pemasangan lokal" + +#: builtin/modmgr.lua:245 +msgid "Online mod repository" +msgstr "Gudang mod daring" + +#: builtin/modmgr.lua:284 +msgid "No mod description available" +msgstr "Tidak ada deskripsi mod tersedia" + +#: builtin/modmgr.lua:288 +msgid "Mod information:" +msgstr "Informasi mod:" + +#: builtin/modmgr.lua:299 +msgid "Rename" +msgstr "Ganti Nama" + +#: builtin/modmgr.lua:301 +msgid "Uninstall selected modpack" +msgstr "Copot pemasangan paket mod terpilih" + +#: builtin/modmgr.lua:312 +msgid "Uninstall selected mod" +msgstr "Copot pemasangan mod terpilih" + +#: builtin/modmgr.lua:324 +msgid "Rename Modpack:" +msgstr "Ubah Nama Paket Mod:" + +#: builtin/modmgr.lua:329 src/keycode.cpp:227 +msgid "Accept" +msgstr "Terima" + +#: builtin/modmgr.lua:423 +msgid "World:" +msgstr "Dunia:" + +#: builtin/modmgr.lua:427 builtin/modmgr.lua:429 +msgid "Hide Game" +msgstr "Sembunyikan Permainan" + +#: builtin/modmgr.lua:433 builtin/modmgr.lua:435 +msgid "Hide mp content" +msgstr "Sembunyikan konten paket mod" + +#: builtin/modmgr.lua:442 +msgid "Mod:" +msgstr "Mod:" + +#: builtin/modmgr.lua:444 +msgid "Depends:" +msgstr "Bergantung pada:" + +#: builtin/modmgr.lua:447 src/guiKeyChangeMenu.cpp:187 +msgid "Save" +msgstr "Simpan" + +#: builtin/modmgr.lua:464 +msgid "Enable MP" +msgstr "Aktifkan Paket Mod" + +#: builtin/modmgr.lua:466 +msgid "Disable MP" +msgstr "Non-aktifkan Paket Mod" + +#: builtin/modmgr.lua:470 builtin/modmgr.lua:472 +msgid "enabled" +msgstr "diaktifan" + +#: builtin/modmgr.lua:478 +msgid "Enable all" +msgstr "Aktifkan semua" + +#: builtin/modmgr.lua:577 +msgid "Select Mod File:" +msgstr "Pilih Berkas Mod:" + +#: builtin/modmgr.lua:616 +msgid "Install Mod: file: \"$1\"" +msgstr "Pasang Mod: berkas: \"$1\"" + +#: builtin/modmgr.lua:617 +msgid "" +"\n" +"Install Mod: unsupported filetype \"$1\"" +msgstr "" +"\n" +"Pemasangan Mod: tipe berkas tidak didukung \"$1\"" + +#: builtin/modmgr.lua:638 +msgid "Failed to install $1 to $2" +msgstr "Gagal memasang $1 ke $2" + +#: builtin/modmgr.lua:641 +msgid "Install Mod: unable to find suitable foldername for modpack $1" +msgstr "Pemasangan Mod: tidak dapat mencari nama folder yang sesuai untuk paket mod $1" + +#: builtin/modmgr.lua:661 +msgid "Install Mod: unable to find real modname for: $1" +msgstr "Pemasangan Mod: tidak dapat mencari nama asli mod dari: $1" + +#: builtin/modmgr.lua:855 +msgid "Modmgr: failed to delete \"$1\"" +msgstr "Modmgr: gagal untuk menghapus \"$1\"" + +#: builtin/modmgr.lua:859 +msgid "Modmgr: invalid modpath \"$1\"" +msgstr "Modmgr: jalur mod tidak sah \"$1\"" + +#: builtin/modmgr.lua:876 +msgid "Are you sure you want to delete \"$1\"?" +msgstr "Kamu yakin untuk menghapus \"$1\"" + +#: builtin/modmgr.lua:878 +msgid "No of course not!" +msgstr "Tentu tidak!" + +#: builtin/modstore.lua:183 +msgid "Page $1 of $2" +msgstr "Halaman $1 dari $2" + +#: builtin/modstore.lua:243 +msgid "Rating" +msgstr "Peringkat" + +#: builtin/modstore.lua:251 +msgid "re-Install" +msgstr "Pasang ulang" + +#: builtin/modstore.lua:253 +msgid "Install" +msgstr "Pasang" + +#: src/client.cpp:2917 +msgid "Item textures..." +msgstr "Konten tekstur..." + +#: src/game.cpp:940 +msgid "Loading..." +msgstr "Memuat..." + +#: src/game.cpp:1000 +msgid "Creating server...." +msgstr "Membuat server...." + +#: src/game.cpp:1016 +msgid "Creating client..." +msgstr "Membuat klien..." + +#: src/game.cpp:1025 +msgid "Resolving address..." +msgstr "Menyelesaikan alamat..." + +#: src/game.cpp:1122 +msgid "Connecting to server..." +msgstr "Menghubungkan ke server..." + +#: src/game.cpp:1219 +msgid "Item definitions..." +msgstr "Definisi konten..." + +#: src/game.cpp:1226 +msgid "Node definitions..." +msgstr "Definisi node..." + +#: src/game.cpp:1233 +msgid "Media..." +msgstr "Media..." + +#: src/game.cpp:3409 +msgid "Shutting down stuff..." +msgstr "Mematikan..." + +#: src/game.cpp:3439 +msgid "" +"\n" +"Check debug.txt for details." +msgstr "" +"\n" +"Cek debug.txt untuk detail." + +#: src/guiDeathScreen.cpp:96 +msgid "You died." +msgstr "Kamu telah meninggal." + +#: src/guiDeathScreen.cpp:104 +msgid "Respawn" +msgstr "Bangkit" + +#: src/guiFormSpecMenu.cpp:1656 src/guiMessageMenu.cpp:107 +#: src/guiTextInputMenu.cpp:139 +msgid "Proceed" +msgstr "Lanjut" + +#: src/guiKeyChangeMenu.cpp:121 +msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" +msgstr "Kontrol. (Jika menu ini membingungkan, hapus hal-hal dari minetest.conf)" + +#: src/guiKeyChangeMenu.cpp:161 +msgid "\"Use\" = climb down" +msgstr "\"Use\" = turun" + +#: src/guiKeyChangeMenu.cpp:176 +msgid "Double tap \"jump\" to toggle fly" +msgstr "Ketuk dua kali \"lompat\" untuk berubah terbang" + +#: src/guiKeyChangeMenu.cpp:288 +msgid "Key already in use" +msgstr "Tombol telah terpakai" + +#: src/guiKeyChangeMenu.cpp:363 +msgid "press key" +msgstr "tekan tombol" + +#: src/guiKeyChangeMenu.cpp:389 +msgid "Forward" +msgstr "Maju" + +#: src/guiKeyChangeMenu.cpp:390 +msgid "Backward" +msgstr "Mundur" + +#: src/guiKeyChangeMenu.cpp:391 src/keycode.cpp:228 +msgid "Left" +msgstr "Kiri" + +#: src/guiKeyChangeMenu.cpp:392 src/keycode.cpp:228 +msgid "Right" +msgstr "Kanan" + +#: src/guiKeyChangeMenu.cpp:393 +msgid "Use" +msgstr "Pakai" + +#: src/guiKeyChangeMenu.cpp:394 +msgid "Jump" +msgstr "Lompat" + +#: src/guiKeyChangeMenu.cpp:395 +msgid "Sneak" +msgstr "Menyelinap" + +#: src/guiKeyChangeMenu.cpp:396 +msgid "Drop" +msgstr "Menjatuhkan" + +#: src/guiKeyChangeMenu.cpp:397 +msgid "Inventory" +msgstr "Inventaris" + +#: src/guiKeyChangeMenu.cpp:398 +msgid "Chat" +msgstr "Obrolan" + +#: src/guiKeyChangeMenu.cpp:399 +msgid "Command" +msgstr "Perintah" + +#: src/guiKeyChangeMenu.cpp:400 +msgid "Console" +msgstr "Konsol" + +#: src/guiKeyChangeMenu.cpp:401 +msgid "Toggle fly" +msgstr "Berubah terbang" + +#: src/guiKeyChangeMenu.cpp:402 +msgid "Toggle fast" +msgstr "Berubah cepat" + +#: src/guiKeyChangeMenu.cpp:403 +msgid "Toggle noclip" +msgstr "Berubah tembus blok" + +#: src/guiKeyChangeMenu.cpp:404 +msgid "Range select" +msgstr "Pilih jarak" + +#: src/guiKeyChangeMenu.cpp:405 +msgid "Print stacks" +msgstr "Cetak tumpukan" + +#: src/guiPasswordChange.cpp:106 +msgid "Old Password" +msgstr "Kata Sandi Lama" + +#: src/guiPasswordChange.cpp:122 +msgid "New Password" +msgstr "Kata Sandi Baru" + +#: src/guiPasswordChange.cpp:137 +msgid "Confirm Password" +msgstr "Konfirmasi Kata Kunci" + +#: src/guiPasswordChange.cpp:153 +msgid "Change" +msgstr "Ubah" + +#: src/guiPasswordChange.cpp:162 +msgid "Passwords do not match!" +msgstr "Kata sandi tidak cocok!" + +#: src/guiPauseMenu.cpp:122 +msgid "Continue" +msgstr "Lanjut" + +#: src/guiPauseMenu.cpp:133 +msgid "Change Password" +msgstr "Ubah Kata Sandi" + +#: src/guiPauseMenu.cpp:143 +msgid "Sound Volume" +msgstr "Volume Suara" + +#: src/guiPauseMenu.cpp:152 +msgid "Exit to Menu" +msgstr "Keluar ke Menu Utama" + +#: src/guiPauseMenu.cpp:161 +msgid "Exit to OS" +msgstr "Akhiri Permainan" + +#: src/guiPauseMenu.cpp:170 +msgid "" +"Default Controls:\n" +"- WASD: move\n" +"- Space: jump/climb\n" +"- Shift: sneak/go down\n" +"- Q: drop item\n" +"- I: inventory\n" +"- Mouse: turn/look\n" +"- Mouse left: dig/punch\n" +"- Mouse right: place/use\n" +"- Mouse wheel: select item\n" +"- T: chat\n" +msgstr "" +"Kontrol Bawaan:\n" +"- WASD: bergerak\n" +"- Space: lompat/panjat\n" +"- Shift: menyelinap/turun\n" +"- Q: jatuhkan item\n" +"- I: inventaris\n" +"- Mouse: belok/lihat\n" +"- Mouse left: gali/pukul\n" +"- Mouse right: taruh/pakai\n" +"- Mouse wheel: pilih item\n" +"- T: obrolan\n" + +#: src/guiVolumeChange.cpp:107 +msgid "Sound Volume: " +msgstr "Volume Suara: " + +#: src/guiVolumeChange.cpp:121 +msgid "Exit" +msgstr "Keluar" + +#: src/keycode.cpp:223 +msgid "Left Button" +msgstr "Tombol Kiri" + +#: src/keycode.cpp:223 +msgid "Middle Button" +msgstr "Tombol Tengah" + +#: src/keycode.cpp:223 +msgid "Right Button" +msgstr "Tombol Kanan" + +#: src/keycode.cpp:223 +msgid "X Button 1" +msgstr "Tombol X 1" + +#: src/keycode.cpp:224 +msgid "Back" +msgstr "Kembali" + +#: src/keycode.cpp:224 +msgid "Clear" +msgstr "Kosong" + +#: src/keycode.cpp:224 +msgid "Return" +msgstr "Kembali" + +#: src/keycode.cpp:224 +msgid "Tab" +msgstr "Tab" + +#: src/keycode.cpp:224 +msgid "X Button 2" +msgstr "Tombol X 2" + +#: src/keycode.cpp:225 +msgid "Capital" +msgstr "Kapital" + +#: src/keycode.cpp:225 +msgid "Control" +msgstr "Ctrl" + +#: src/keycode.cpp:225 +msgid "Kana" +msgstr "Kana" + +#: src/keycode.cpp:225 +msgid "Menu" +msgstr "Menu" + +#: src/keycode.cpp:225 +msgid "Pause" +msgstr "Jeda" + +#: src/keycode.cpp:225 +msgid "Shift" +msgstr "Shift" + +#: src/keycode.cpp:226 +msgid "Convert" +msgstr "Ubah" + +#: src/keycode.cpp:226 +msgid "Escape" +msgstr "Escape" + +#: src/keycode.cpp:226 +msgid "Final" +msgstr "Terakhir" + +#: src/keycode.cpp:226 +msgid "Junja" +msgstr "Junja" + +#: src/keycode.cpp:226 +msgid "Kanji" +msgstr "Kanji" + +#: src/keycode.cpp:226 +msgid "Nonconvert" +msgstr "Tanpa pengubahan" + +#: src/keycode.cpp:227 +msgid "End" +msgstr "End" + +#: src/keycode.cpp:227 +msgid "Home" +msgstr "Home" + +#: src/keycode.cpp:227 +msgid "Mode Change" +msgstr "Ubah Mode" + +#: src/keycode.cpp:227 +msgid "Next" +msgstr "Selanjutnya" + +#: src/keycode.cpp:227 +msgid "Prior" +msgstr "Sebelumnya" + +#: src/keycode.cpp:227 +msgid "Space" +msgstr "Spasi" + +#: src/keycode.cpp:228 +msgid "Down" +msgstr "Bawah" + +#: src/keycode.cpp:228 +msgid "Execute" +msgstr "Menjalankan" + +#: src/keycode.cpp:228 +msgid "Print" +msgstr "Cetak" + +#: src/keycode.cpp:228 +msgid "Select" +msgstr "Pilih" + +#: src/keycode.cpp:228 +msgid "Up" +msgstr "Atas" + +#: src/keycode.cpp:229 +msgid "Help" +msgstr "Bantuan" + +#: src/keycode.cpp:229 +msgid "Insert" +msgstr "Insert" + +#: src/keycode.cpp:229 +msgid "Snapshot" +msgstr "Potret" + +#: src/keycode.cpp:232 +msgid "Left Windows" +msgstr "Jendela Kiri" + +#: src/keycode.cpp:233 +msgid "Apps" +msgstr "Aplikasi" + +#: src/keycode.cpp:233 +msgid "Numpad 0" +msgstr "Numpad 0" + +#: src/keycode.cpp:233 +msgid "Numpad 1" +msgstr "Numpad 1" + +#: src/keycode.cpp:233 +msgid "Right Windows" +msgstr "Jendela Kanan" + +#: src/keycode.cpp:233 +msgid "Sleep" +msgstr "Tidur" + +#: src/keycode.cpp:234 +msgid "Numpad 2" +msgstr "Numpad 2" + +#: src/keycode.cpp:234 +msgid "Numpad 3" +msgstr "Numpad 3" + +#: src/keycode.cpp:234 +msgid "Numpad 4" +msgstr "Numpad 4" + +#: src/keycode.cpp:234 +msgid "Numpad 5" +msgstr "Numpad 5" + +#: src/keycode.cpp:234 +msgid "Numpad 6" +msgstr "Numpad 6" + +#: src/keycode.cpp:234 +msgid "Numpad 7" +msgstr "Numpad 7" + +#: src/keycode.cpp:235 +msgid "Numpad *" +msgstr "Numpad *" + +#: src/keycode.cpp:235 +msgid "Numpad +" +msgstr "Numpad +" + +#: src/keycode.cpp:235 +msgid "Numpad -" +msgstr "Numpad -" + +#: src/keycode.cpp:235 +msgid "Numpad /" +msgstr "Numpad /" + +#: src/keycode.cpp:235 +msgid "Numpad 8" +msgstr "Numpad 8" + +#: src/keycode.cpp:235 +msgid "Numpad 9" +msgstr "Numpad 9" + +#: src/keycode.cpp:239 +msgid "Num Lock" +msgstr "Num Lock" + +#: src/keycode.cpp:239 +msgid "Scroll Lock" +msgstr "Scroll Lock" + +#: src/keycode.cpp:240 +msgid "Left Shift" +msgstr "Shift Kanan" + +#: src/keycode.cpp:240 +msgid "Right Shift" +msgstr "Shift Kiri" + +#: src/keycode.cpp:241 +msgid "Left Control" +msgstr "Ctrl Kanan" + +#: src/keycode.cpp:241 +msgid "Left Menu" +msgstr "Menu Kiri" + +#: src/keycode.cpp:241 +msgid "Right Control" +msgstr "Ctrl Kiri" + +#: src/keycode.cpp:241 +msgid "Right Menu" +msgstr "Menu Kanan" + +#: src/keycode.cpp:243 +msgid "Comma" +msgstr "Koma" + +#: src/keycode.cpp:243 +msgid "Minus" +msgstr "Negatif" + +#: src/keycode.cpp:243 +msgid "Period" +msgstr "Titik" + +#: src/keycode.cpp:243 +msgid "Plus" +msgstr "Tambah" + +#: src/keycode.cpp:247 +msgid "Attn" +msgstr "Attn" + +#: src/keycode.cpp:247 +msgid "CrSel" +msgstr "CrSel" + +#: src/keycode.cpp:248 +msgid "Erase OEF" +msgstr "Hapus OEF" + +#: src/keycode.cpp:248 +msgid "ExSel" +msgstr "ExSel" + +#: src/keycode.cpp:248 +msgid "OEM Clear" +msgstr "Hapus OEM" + +#: src/keycode.cpp:248 +msgid "PA1" +msgstr "PA1" + +#: src/keycode.cpp:248 +msgid "Zoom" +msgstr "Zoom" + +#: src/main.cpp:1472 +msgid "needs_fallback_font" +msgstr "no" + +#: src/main.cpp:1547 +msgid "Main Menu" +msgstr "Menu Utama" + +#: src/main.cpp:1723 +msgid "No world selected and no address provided. Nothing to do." +msgstr "Tidak ada dunia yang dipilih dan tidak diberikan alamat. Tidak ada yang dilakukan" + +#: src/main.cpp:1731 +msgid "Could not find or load game \"" +msgstr "Tidak dapat mencari atau memuat permainan \"" + +#: src/main.cpp:1745 +msgid "Invalid gamespec." +msgstr "Spesifikasi permainan tidak sah." + +#: src/main.cpp:1790 +msgid "Connection error (timed out?)" +msgstr "koneksi bermasalah (kehabisan waktu?)" From 7e34621b1de754449a5849f3ddfe8f77f32e64f5 Mon Sep 17 00:00:00 2001 From: RealBadAngel Date: Tue, 21 Oct 2014 23:06:12 +0200 Subject: [PATCH 08/10] Fix broken plantlike drawtype. --- src/content_mapblock.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index 527086b89..ef1f1d858 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -1153,40 +1153,40 @@ void mapblock_mesh_generate_special(MeshMakeData *data, { TileSpec tile = getNodeTileN(n, p, 0, data); tile.material_flags |= MATERIAL_FLAG_CRACK_OVERLAY; - + u16 l = getInteriorLight(n, 1, nodedef); video::SColor c = MapBlock_LightColor(255, l, f.light_source); - - float s = BS/2*f.visual_scale; - - for(u32 j=0; j<2; j++) + + float s = BS / 2; + for(u32 j = 0; j < 2; j++) { video::S3DVertex vertices[4] = { - video::S3DVertex(-s,-BS/2, 0, 0,0,0, c, 0,1), - video::S3DVertex( s,-BS/2, 0, 0,0,0, c, 1,1), - video::S3DVertex( s,-BS/2 + s*2,0, 0,0,0, c, 1,0), - video::S3DVertex(-s,-BS/2 + s*2,0, 0,0,0, c, 0,0), + video::S3DVertex(-s,-s, 0, 0,0,0, c, 0,1), + video::S3DVertex( s,-s, 0, 0,0,0, c, 1,1), + video::S3DVertex( s, s, 0, 0,0,0, c, 1,0), + video::S3DVertex(-s, s, 0, 0,0,0, c, 0,0), }; if(j == 0) { - for(u16 i=0; i<4; i++) + for(u16 i = 0; i < 4; i++) vertices[i].Pos.rotateXZBy(46 + n.param2 * 2); } else if(j == 1) { - for(u16 i=0; i<4; i++) + for(u16 i = 0; i < 4; i++) vertices[i].Pos.rotateXZBy(-44 + n.param2 * 2); } - for(u16 i=0; i<4; i++) + for(u16 i = 0; i < 4; i++) { vertices[i].Pos *= f.visual_scale; + vertices[i].Pos.Y -= s * (1 - f.visual_scale); vertices[i].Pos += intToFloat(p, BS); } - u16 indices[] = {0,1,2,2,3,0}; + u16 indices[] = {0, 1, 2, 2, 3, 0}; // Add to mesh collector collector.append(tile, vertices, 4, indices, 6); } From 737cce5f2b8409ec7cc9b73b9cf4b6d572b54e63 Mon Sep 17 00:00:00 2001 From: Rui Date: Thu, 23 Oct 2014 20:15:26 +0900 Subject: [PATCH 09/10] Fix syntax error in Japanese translation --- po/ja/minetest.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index a81200838..21e4f2984 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -975,7 +975,7 @@ msgstr "ワールドが選択できていないか、アドレスが入力 #: src/main.cpp:1731 msgid "Could not find or load game \"" -msgstr "\""のゲームの読み込みか検索に失敗" +msgstr "読み込みか検索に失敗:\"" #: src/main.cpp:1745 msgid "Invalid gamespec." From 73bf791fe12d4214d29b6b872940ede634651ce8 Mon Sep 17 00:00:00 2001 From: Pavel Puchkin Date: Thu, 23 Oct 2014 22:17:47 +0300 Subject: [PATCH 10/10] Remove remenants of mob code Since minetest has no mobs within the core anymore, I suppose these settings and code should go. Any mod that uses `minetest.setting_getbool` will work with no problem since the default return value is `false`. --- minetest.conf.example | 2 -- src/defaultsettings.cpp | 1 - src/environment.cpp | 5 ----- src/serverobject.h | 2 -- 4 files changed, 10 deletions(-) diff --git a/minetest.conf.example b/minetest.conf.example index 3e7689c76..2ceb0a142 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -283,8 +283,6 @@ #creative_mode = false # Enable players getting damage and dying #enable_damage = false -# Despawn all non-peaceful mobs -#only_peaceful_mobs = false # A chosen map seed for a new map, leave empty for random #fixed_map_seed = # Gives some stuff to players at the beginning diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index dc4a59be3..2d6851c2c 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -197,7 +197,6 @@ void set_default_settings(Settings *settings) settings->setDefault("strict_protocol_version_checking", "false"); settings->setDefault("creative_mode", "false"); settings->setDefault("enable_damage", "true"); - settings->setDefault("only_peaceful_mobs", "false"); settings->setDefault("fixed_map_seed", ""); settings->setDefault("give_initial_stuff", "false"); settings->setDefault("default_password", ""); diff --git a/src/environment.cpp b/src/environment.cpp index 8977ee673..64c998671 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -1225,11 +1225,6 @@ void ServerEnvironment::step(float dtime) i != m_active_objects.end(); ++i) { ServerActiveObject* obj = i->second; - // Remove non-peaceful mobs on peaceful mode - if(g_settings->getBool("only_peaceful_mobs")){ - if(!obj->isPeaceful()) - obj->m_removed = true; - } // Don't step if is to be removed or stored statically if(obj->m_removed || obj->m_pending_deactivation) continue; diff --git a/src/serverobject.h b/src/serverobject.h index 13a075a25..b57d3a2ba 100644 --- a/src/serverobject.h +++ b/src/serverobject.h @@ -97,8 +97,6 @@ public: // If object has moved less than this and data has not changed, // saving to disk may be omitted virtual float getMinimumSavedMovement(); - - virtual bool isPeaceful(){return true;} virtual std::string getDescription(){return "SAO";}