From 452c88308c80dc52df95d5c2a9e0e105154684d0 Mon Sep 17 00:00:00 2001 From: paramat Date: Sat, 28 Nov 2015 14:51:22 +0000 Subject: [PATCH 01/52] Dungeongen: Also preserve river water nodes For future river mapgens Dungeons will not generate in river water, to avoid dungeons filling and blocking river channels --- src/dungeongen.cpp | 5 ++++- src/dungeongen.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dungeongen.cpp b/src/dungeongen.cpp index 9c6e24a60..bfaad9faa 100644 --- a/src/dungeongen.cpp +++ b/src/dungeongen.cpp @@ -65,6 +65,9 @@ DungeonGen::DungeonGen(Mapgen *mapgen, DungeonParams *dparams) dp.np_wetness = nparams_dungeon_wetness; dp.np_density = nparams_dungeon_density; } + + // For mapgens using river water + dp.c_river_water = mg->ndef->getId("mapgen_river_water_source"); } @@ -87,7 +90,7 @@ void DungeonGen::generate(u32 bseed, v3s16 nmin, v3s16 nmax) u32 i = vm->m_area.index(nmin.X, y, z); for (s16 x = nmin.X; x <= nmax.X; x++) { content_t c = vm->m_data[i].getContent(); - if (c == CONTENT_AIR || c == dp.c_water) + if (c == CONTENT_AIR || c == dp.c_water || c == dp.c_river_water) vm->m_flags[i] |= VMANIP_FLAG_DUNGEON_PRESERVE; i++; } diff --git a/src/dungeongen.h b/src/dungeongen.h index 4e1201d82..d209dd4bf 100644 --- a/src/dungeongen.h +++ b/src/dungeongen.h @@ -40,6 +40,7 @@ int dir_to_facedir(v3s16 d); struct DungeonParams { content_t c_water; + content_t c_river_water; content_t c_cobble; content_t c_moss; content_t c_stair; From 5292ba7391cd611c60ca55df55246af7edefb16c Mon Sep 17 00:00:00 2001 From: paramat Date: Sat, 28 Nov 2015 19:49:11 +0000 Subject: [PATCH 02/52] Lua_api.txt: Add documentation for biome definition --- doc/lua_api.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index f82c3c2ac..9ffb497d7 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -3578,6 +3578,51 @@ Definition tables -- ^ Can be a list of (or a single) biome names, IDs, or definitions. } +### Biome definition (`register_biome`) + + { + name = "tundra", + node_dust = "default:snow", + -- ^ Node dropped onto upper surface after all else is generated. + node_top = "default:dirt_with_snow", + depth_top = 1, + -- ^ Node forming surface layer of biome and thickness of this layer. + node_filler = "default:permafrost", + depth_filler = 3, + -- ^ Node forming lower layer of biome and thickness of this layer. + node_stone = "default:bluestone", + -- ^ Node that replaces all stone nodes between roughly y_min and y_max. + node_water_top = "default:ice", + depth_water_top = 10, + -- ^ Node forming a surface layer in seawater with the defined thickness. + node_water = "", + -- ^ Node that replaces all seawater nodes not in the defined surface layer. + node_river_water = "default:ice", + -- ^ Node that replaces river water in mapgens that use default:river_water. + y_min = 1, + y_max = 31000, + -- ^ Lower and upper limits for biome. + -- ^ Because biome is not recalculated for every node in a node column + -- ^ some biome materials can exceed their limits, especially stone. + -- ^ For each node column in a mapchunk, biome is only recalculated at column + -- ^ top and at each of these surfaces: + -- ^ Ground below air, water below air, ground below water. + -- ^ The selected biome then stays in effect for all nodes below until + -- ^ column base or the next biome recalculation. + heat_point = 0, + humidity_point = 50, + -- ^ Characteristic average temperature and humidity for the biome. + -- ^ These values create 'biome points' on a voronoi diagram that has heat + -- ^ and humidity as axes. The resulting voronoi cells determine which + -- ^ heat/humidity points belong to which biome, and therefore determine + -- ^ the area and location of each biome in the world. + -- ^ The biome points need to be carefully and evenly spaced on the voronoi + -- ^ diagram to result in roughly equal size biomes. + -- ^ Heat and humidity have average values of 50, vary mostly between + -- ^ 0 and 100 but also often exceed these values. + -- ^ Heat is not in degrees celcius, both values are abstract. + } + ### Decoration definition (`register_decoration`) { From 6fead2818acf00a63c89ec613230a59bc0c4cab5 Mon Sep 17 00:00:00 2001 From: Jay Arndt Date: Sun, 29 Nov 2015 17:57:12 -0600 Subject: [PATCH 03/52] Remove unused OpenALSoundManager::m_can_vorbis and EXT_vorbis check --- src/sound_openal.cpp | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/sound_openal.cpp b/src/sound_openal.cpp index 0c4ae8856..e2b6d937a 100644 --- a/src/sound_openal.cpp +++ b/src/sound_openal.cpp @@ -269,7 +269,6 @@ private: OnDemandSoundFetcher *m_fetcher; ALCdevice *m_device; ALCcontext *m_context; - bool m_can_vorbis; int m_next_id; std::map > m_buffers; std::map m_sounds_playing; @@ -280,7 +279,6 @@ public: m_fetcher(fetcher), m_device(NULL), m_context(NULL), - m_can_vorbis(false), m_next_id(1), m_is_initialized(false) { @@ -295,14 +293,6 @@ public: return; } - if(alcIsExtensionPresent(m_device, "EXT_vorbis")){ - infostream<<"Audio: Vorbis extension present"< Date: Mon, 30 Nov 2015 01:43:28 +0000 Subject: [PATCH 04/52] Dungeongen: Fix rarely triggered segfault A segfault exposed a missing 'vm->m_area.contains()' check in makeCorridor that allowed the calculation of vm index for a node outside the vm area. The huge and invalid index number caused getContent to fail --- src/dungeongen.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dungeongen.cpp b/src/dungeongen.cpp index bfaad9faa..cb5ea97b6 100644 --- a/src/dungeongen.cpp +++ b/src/dungeongen.cpp @@ -392,7 +392,8 @@ void DungeonGen::makeCorridor(v3s16 doorplace, v3s16 doordir, if (partcount != 0) p.Y += make_stairs; - if (vm->m_area.contains(p) && vm->m_area.contains(p + v3s16(0, 1, 0))) { + if (vm->m_area.contains(p) && vm->m_area.contains(p + v3s16(0, 1, 0)) && + vm->m_area.contains(v3s16(p.X - dir.X, p.Y - 1, p.Z - dir.Z))) { if (make_stairs) { makeFill(p + v3s16(-1, -1, -1), dp.holesize + v3s16(2, 3, 2), From 97908cc65670d3f6cf2e286390bfea10f653aaa8 Mon Sep 17 00:00:00 2001 From: Alex Ford Date: Wed, 18 Nov 2015 12:26:09 -0700 Subject: [PATCH 05/52] Add on_secondary_use when right clicking an item in the air --- builtin/game/item.lua | 7 +++++++ builtin/game/register.lua | 1 + doc/lua_api.txt | 5 +++++ src/client.cpp | 1 + src/game.cpp | 12 ++++++++++++ src/network/serverpackethandler.cpp | 17 +++++++++++++++++ src/script/cpp_api/s_item.cpp | 26 ++++++++++++++++++++++++++ src/script/cpp_api/s_item.h | 2 ++ 8 files changed, 71 insertions(+) diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 44ec35cc9..6c2214ef6 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -347,6 +347,10 @@ function core.item_place(itemstack, placer, pointed_thing, param2) return itemstack end +function core.item_secondary_use(itemstack, placer) + return itemstack +end + function core.item_drop(itemstack, dropper, pos) if dropper and dropper:is_player() then local v = dropper:get_look_dir() @@ -605,6 +609,7 @@ core.craftitemdef_default = { -- Interaction callbacks on_place = redef_wrapper(core, 'item_place'), -- core.item_place on_drop = redef_wrapper(core, 'item_drop'), -- core.item_drop + on_secondary_use = redef_wrapper(core, 'item_secondary_use'), on_use = nil, } @@ -622,6 +627,7 @@ core.tooldef_default = { -- Interaction callbacks on_place = redef_wrapper(core, 'item_place'), -- core.item_place + on_secondary_use = redef_wrapper(core, 'item_secondary_use'), on_drop = redef_wrapper(core, 'item_drop'), -- core.item_drop on_use = nil, } @@ -640,6 +646,7 @@ core.noneitemdef_default = { -- This is used for the hand and unknown items -- Interaction callbacks on_place = redef_wrapper(core, 'item_place'), + on_secondary_use = redef_wrapper(core, 'item_secondary_use'), on_drop = nil, on_use = nil, } diff --git a/builtin/game/register.lua b/builtin/game/register.lua index 00bb23278..992fdf744 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -272,6 +272,7 @@ core.register_item(":unknown", { description = "Unknown Item", inventory_image = "unknown_item.png", on_place = core.item_place, + on_secondary_use = core.item_secondary_use, on_drop = core.item_drop, groups = {not_in_creative_inventory=1}, diggable = true, diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 9ffb497d7..11f90ba03 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -3303,6 +3303,11 @@ Definition tables --[[ ^ Shall place item and return the leftover itemstack ^ default: minetest.item_place ]] + on_secondary_use = func(itemstack, user, pointed_thing), + --[[ + ^ Same as on_place but called when pointing at nothing. + ^ pointed_thing : always { type = "nothing" } + ]] on_drop = func(itemstack, dropper, pos), --[[ ^ Shall drop item and return the leftover itemstack diff --git a/src/client.cpp b/src/client.cpp index 5c04632d1..8e49ee3ba 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -946,6 +946,7 @@ void Client::interact(u8 action, const PointedThing& pointed) 2: digging completed 3: place block or item (to abovesurface) 4: use item + 5: perform secondary action of item */ NetworkPacket pkt(TOSERVER_INTERACT, 1 + 2 + 0); diff --git a/src/game.cpp b/src/game.cpp index e6a1a2256..5e4f4cacf 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1525,6 +1525,7 @@ protected: void processPlayerInteraction(std::vector &highlight_boxes, GameRunData *runData, f32 dtime, bool show_hud, bool show_debug); + void handlePointingAtNothing(GameRunData *runData, const ItemStack &playerItem); void handlePointingAtNode(GameRunData *runData, const PointedThing &pointed, const ItemDefinition &playeritem_def, const ToolCapabilities &playeritem_toolcap, f32 dtime); @@ -3603,6 +3604,8 @@ void Game::processPlayerInteraction(std::vector &highlight_boxes, } else if (input->getLeftState()) { // When button is held down in air, show continuous animation runData->left_punch = true; + } else if (input->getRightClicked()) { + handlePointingAtNothing(runData, playeritem); } runData->pointed_old = pointed; @@ -3618,6 +3621,15 @@ void Game::processPlayerInteraction(std::vector &highlight_boxes, } +void Game::handlePointingAtNothing(GameRunData *runData, const ItemStack &playerItem) +{ + infostream << "Right Clicked in Air" << std::endl; + PointedThing fauxPointed; + fauxPointed.type = POINTEDTHING_NOTHING; + client->interact(5, fauxPointed); +} + + void Game::handlePointingAtNode(GameRunData *runData, const PointedThing &pointed, const ItemDefinition &playeritem_def, const ToolCapabilities &playeritem_toolcap, f32 dtime) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index a4fa502ae..a5aaf1ecb 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1653,6 +1653,23 @@ void Server::handleCommand_Interact(NetworkPacket* pkt) } } // action == 4 + + /* + 5: rightclick air + */ + else if (action == 5) { + ItemStack item = playersao->getWieldedItem(); + + actionstream << player->getName() << " activates " + << item.name << std::endl; + + if (m_script->item_OnSecondaryUse( + item, playersao)) { + if( playersao->setWieldedItem(item)) { + SendInventory(playersao); + } + } + } /* diff --git a/src/script/cpp_api/s_item.cpp b/src/script/cpp_api/s_item.cpp index d9a545b4f..3c84fb8cf 100644 --- a/src/script/cpp_api/s_item.cpp +++ b/src/script/cpp_api/s_item.cpp @@ -110,6 +110,32 @@ bool ScriptApiItem::item_OnUse(ItemStack &item, return true; } +bool ScriptApiItem::item_OnSecondaryUse(ItemStack &item, ServerActiveObject *user) +{ + SCRIPTAPI_PRECHECKHEADER + + int error_handler = PUSH_ERROR_HANDLER(L); + + if (!getItemCallback(item.name.c_str(), "on_secondary_use")) + return false; + + LuaItemStack::create(L, item); + objectrefGetOrCreate(L, user); + PointedThing pointed; + pointed.type = POINTEDTHING_NOTHING; + pushPointedThing(pointed); + PCALL_RES(lua_pcall(L, 3, 1, error_handler)); + if (!lua_isnil(L, -1)) { + try { + item = read_item(L, -1, getServer()); + } catch (LuaError &e) { + throw LuaError(std::string(e.what()) + ". item=" + item.name); + } + } + lua_pop(L, 2); // Pop item and error handler + return true; +} + bool ScriptApiItem::item_OnCraft(ItemStack &item, ServerActiveObject *user, const InventoryList *old_craft_grid, const InventoryLocation &craft_inv) { diff --git a/src/script/cpp_api/s_item.h b/src/script/cpp_api/s_item.h index 88cc1909d..7350a71c5 100644 --- a/src/script/cpp_api/s_item.h +++ b/src/script/cpp_api/s_item.h @@ -42,6 +42,8 @@ public: ServerActiveObject *placer, const PointedThing &pointed); bool item_OnUse(ItemStack &item, ServerActiveObject *user, const PointedThing &pointed); + bool item_OnSecondaryUse(ItemStack &item, + ServerActiveObject *user); bool item_OnCraft(ItemStack &item, ServerActiveObject *user, const InventoryList *old_craft_grid, const InventoryLocation &craft_inv); bool item_CraftPredict(ItemStack &item, ServerActiveObject *user, From e51ea66bd087e56b2e446f64bd4d185b4786325c Mon Sep 17 00:00:00 2001 From: paramat Date: Mon, 30 Nov 2015 02:31:43 +0000 Subject: [PATCH 06/52] Mgv5/v7/flat/fractal: More large pseudorandom caves Mgv7/flat/fractal: Reduce tunnel noise spreads to 96 --- src/mapgen_flat.cpp | 8 ++++---- src/mapgen_fractal.cpp | 8 ++++---- src/mapgen_v5.cpp | 4 ++-- src/mapgen_v7.cpp | 8 ++++---- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/mapgen_flat.cpp b/src/mapgen_flat.cpp index 1b41d0acf..c961d755a 100644 --- a/src/mapgen_flat.cpp +++ b/src/mapgen_flat.cpp @@ -148,8 +148,8 @@ MapgenFlatParams::MapgenFlatParams() np_terrain = NoiseParams(0, 1, v3f(600, 600, 600), 7244, 5, 0.6, 2.0); np_filler_depth = NoiseParams(0, 1.2, v3f(150, 150, 150), 261, 3, 0.7, 2.0); - np_cave1 = NoiseParams(0, 12, v3f(128, 128, 128), 52534, 4, 0.5, 2.0); - np_cave2 = NoiseParams(0, 12, v3f(128, 128, 128), 10325, 4, 0.5, 2.0); + np_cave1 = NoiseParams(0, 12, v3f(96, 96, 96), 52534, 4, 0.5, 2.0); + np_cave2 = NoiseParams(0, 12, v3f(96, 96, 96), 10325, 4, 0.5, 2.0); } @@ -559,7 +559,7 @@ void MapgenFlat::generateCaves(s16 max_stone_y) for (s16 x = node_min.X; x <= node_max.X; x++, vi++, index++) { float d1 = contour(noise_cave1->result[index]); float d2 = contour(noise_cave2->result[index]); - if (d1 * d2 > 0.4f) { + if (d1 * d2 > 0.3f) { content_t c = vm->m_data[vi].getContent(); if (!ndef->get(c).is_ground_content || c == CONTENT_AIR) continue; @@ -574,7 +574,7 @@ void MapgenFlat::generateCaves(s16 max_stone_y) return; PseudoRandom ps(blockseed + 21343); - u32 bruises_count = (ps.range(1, 4) == 1) ? ps.range(1, 2) : 0; + u32 bruises_count = ps.range(0, 2); for (u32 i = 0; i < bruises_count; i++) { CaveV5 cave(this, &ps); cave.makeCave(node_min, node_max, max_stone_y); diff --git a/src/mapgen_fractal.cpp b/src/mapgen_fractal.cpp index 676e2f446..14dfe5c85 100644 --- a/src/mapgen_fractal.cpp +++ b/src/mapgen_fractal.cpp @@ -154,8 +154,8 @@ MapgenFractalParams::MapgenFractalParams() np_seabed = NoiseParams(-14, 9, v3f(600, 600, 600), 41900, 5, 0.6, 2.0); np_filler_depth = NoiseParams(0, 1.2, v3f(150, 150, 150), 261, 3, 0.7, 2.0); - np_cave1 = NoiseParams(0, 12, v3f(128, 128, 128), 52534, 4, 0.5, 2.0); - np_cave2 = NoiseParams(0, 12, v3f(128, 128, 128), 10325, 4, 0.5, 2.0); + np_cave1 = NoiseParams(0, 12, v3f(96, 96, 96), 52534, 4, 0.5, 2.0); + np_cave2 = NoiseParams(0, 12, v3f(96, 96, 96), 10325, 4, 0.5, 2.0); } @@ -624,7 +624,7 @@ void MapgenFractal::generateCaves(s16 max_stone_y) for (s16 x = node_min.X; x <= node_max.X; x++, vi++, index++) { float d1 = contour(noise_cave1->result[index]); float d2 = contour(noise_cave2->result[index]); - if (d1 * d2 > 0.4f) { + if (d1 * d2 > 0.3f) { content_t c = vm->m_data[vi].getContent(); if (!ndef->get(c).is_ground_content || c == CONTENT_AIR) continue; @@ -639,7 +639,7 @@ void MapgenFractal::generateCaves(s16 max_stone_y) return; PseudoRandom ps(blockseed + 21343); - u32 bruises_count = (ps.range(1, 4) == 1) ? ps.range(1, 2) : 0; + u32 bruises_count = ps.range(0, 2); for (u32 i = 0; i < bruises_count; i++) { CaveV5 cave(this, &ps); cave.makeCave(node_min, node_max, max_stone_y); diff --git a/src/mapgen_v5.cpp b/src/mapgen_v5.cpp index 3d7e3bf83..92cf00202 100644 --- a/src/mapgen_v5.cpp +++ b/src/mapgen_v5.cpp @@ -518,7 +518,7 @@ void MapgenV5::generateCaves(int max_stone_y) for (s16 x = node_min.X; x <= node_max.X; x++, i++, index++) { float d1 = contour(noise_cave1->result[index]); float d2 = contour(noise_cave2->result[index]); - if (d1*d2 > 0.125) { + if (d1 * d2 > 0.125f) { content_t c = vm->m_data[i].getContent(); if (!ndef->get(c).is_ground_content || c == CONTENT_AIR) continue; @@ -533,7 +533,7 @@ void MapgenV5::generateCaves(int max_stone_y) return; PseudoRandom ps(blockseed + 21343); - u32 bruises_count = (ps.range(1, 4) == 1) ? ps.range(1, 2) : 0; + u32 bruises_count = ps.range(0, 2); for (u32 i = 0; i < bruises_count; i++) { CaveV5 cave(this, &ps); cave.makeCave(node_min, node_max, max_stone_y); diff --git a/src/mapgen_v7.cpp b/src/mapgen_v7.cpp index 679d860dc..3842b1a96 100644 --- a/src/mapgen_v7.cpp +++ b/src/mapgen_v7.cpp @@ -157,8 +157,8 @@ MapgenV7Params::MapgenV7Params() np_ridge_uwater = NoiseParams(0, 1, v3f(1000, 1000, 1000), 85039, 5, 0.6, 2.0); np_mountain = NoiseParams(-0.6, 1, v3f(250, 350, 250), 5333, 5, 0.63, 2.0); np_ridge = NoiseParams(0, 1, v3f(100, 100, 100), 6467, 4, 0.75, 2.0); - np_cave1 = NoiseParams(0, 12, v3f(100, 100, 100), 52534, 4, 0.5, 2.0); - np_cave2 = NoiseParams(0, 12, v3f(100, 100, 100), 10325, 4, 0.5, 2.0); + np_cave1 = NoiseParams(0, 12, v3f(96, 96, 96), 52534, 4, 0.5, 2.0); + np_cave2 = NoiseParams(0, 12, v3f(96, 96, 96), 10325, 4, 0.5, 2.0); } @@ -870,7 +870,7 @@ void MapgenV7::generateCaves(s16 max_stone_y) for (s16 x = node_min.X; x <= node_max.X; x++, i++, index++) { float d1 = contour(noise_cave1->result[index]); float d2 = contour(noise_cave2->result[index]); - if (d1 * d2 > 0.3) { + if (d1 * d2 > 0.3f) { content_t c = vm->m_data[i].getContent(); if (!ndef->get(c).is_ground_content || c == CONTENT_AIR) continue; @@ -882,7 +882,7 @@ void MapgenV7::generateCaves(s16 max_stone_y) } PseudoRandom ps(blockseed + 21343); - u32 bruises_count = (ps.range(1, 4) == 1) ? ps.range(1, 2) : 0; + u32 bruises_count = ps.range(0, 2); for (u32 i = 0; i < bruises_count; i++) { CaveV7 cave(this, &ps); cave.makeCave(node_min, node_max, max_stone_y); From 89168a7ec8fe31715a4ca321a6e0ccb2d4972257 Mon Sep 17 00:00:00 2001 From: est31 Date: Wed, 2 Dec 2015 18:26:09 +0100 Subject: [PATCH 07/52] Document limitations of minetest.get_password_hash --- doc/lua_api.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 11f90ba03..4799a30fa 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -1921,7 +1921,11 @@ Call these functions only at load time! * Should be called by the authentication handler if privileges changes. * To report everybody, set `name=nil`. * `minetest.get_password_hash(name, raw_password)` - * Convert a name-password pair to a password hash that Minetest can use + * Convert a name-password pair to a password hash that Minetest can use. + * The returned value alone is not a good basis for password checks based + * on comparing the password hash in the database with the password hash + * from the function, with an externally provided password, as the hash + * in the db might use the new SRP verifier format. * `minetest.string_to_privs(str)`: returns `{priv1=true,...}` * `minetest.privs_to_string(privs)`: returns `"priv1,priv2,..."` * Convert between two privilege representations From d8975eabf95fac1881f75ab149d0cebeff3d10f3 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 3 Dec 2015 21:34:46 +0100 Subject: [PATCH 08/52] Fix build if BUILD_SHARED_LIBS defaults to "ON" openSUSE sets that option to ON. Fixes #3420. --- src/cguittfont/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cguittfont/CMakeLists.txt b/src/cguittfont/CMakeLists.txt index 7717a2f91..6cd35f310 100644 --- a/src/cguittfont/CMakeLists.txt +++ b/src/cguittfont/CMakeLists.txt @@ -2,7 +2,7 @@ # Do not add CGUITTFont.cpp to the line below. # xCGUITTFont.cpp is a wrapper file that includes # additional required headers. -add_library(cguittfont xCGUITTFont.cpp) +add_library(cguittfont STATIC xCGUITTFont.cpp) if(FREETYPE_PKGCONFIG_FOUND) set_target_properties(cguittfont From 5643b9b9ed3ec39f90e3a7c9bf09bc255e0bcef3 Mon Sep 17 00:00:00 2001 From: est31 Date: Sat, 5 Dec 2015 17:51:56 +0100 Subject: [PATCH 09/52] Make travis work again Now we do sudo apt-get update to download package sources. This fixes travis build with the new GCE based infrastructure. Closes #3427. Closes #3426. --- util/travis/before_install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh index b61118044..20f6674ae 100755 --- a/util/travis/before_install.sh +++ b/util/travis/before_install.sh @@ -8,6 +8,7 @@ if [[ $CC == "clang" ]]; then sudo apt-get install llvm-3.1 sudo apt-get install clang fi +sudo apt-get update sudo apt-get install p7zip-full if [[ $PLATFORM == "Linux" ]]; then sudo apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev \ From 70ece71ee4e8f8bff5cbc572710c0fa6fc3b355f Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 3 Dec 2015 21:18:39 +0100 Subject: [PATCH 10/52] Improve LuaJIT detection On openSUSE luajit is not detected correctly. This is because openSUSE is using a lua version suffix, like other Linux distributions do it also. So the include directory is: include/luajit-5_1-2.0 --- cmake/Modules/FindLua.cmake | 25 ----------------- cmake/Modules/FindLuaJIT.cmake | 50 ++++++++++++++++++++++++++++++++++ src/CMakeLists.txt | 19 +++++++++++-- 3 files changed, 67 insertions(+), 27 deletions(-) delete mode 100644 cmake/Modules/FindLua.cmake create mode 100644 cmake/Modules/FindLuaJIT.cmake diff --git a/cmake/Modules/FindLua.cmake b/cmake/Modules/FindLua.cmake deleted file mode 100644 index 479dfcf41..000000000 --- a/cmake/Modules/FindLua.cmake +++ /dev/null @@ -1,25 +0,0 @@ - -option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE) -mark_as_advanced(LUA_LIBRARY LUA_INCLUDE_DIR) -set(USE_LUAJIT FALSE) - -if(ENABLE_LUAJIT) - find_library(LUA_LIBRARY luajit - NAMES luajit-5.1) - find_path(LUA_INCLUDE_DIR luajit.h - NAMES luajit.h - PATH_SUFFIXES luajit-2.0) - if(LUA_LIBRARY AND LUA_INCLUDE_DIR) - set(USE_LUAJIT TRUE) - endif() -else() - message (STATUS "LuaJIT detection disabled! (ENABLE_LUAJIT=0)") -endif() - -if(NOT USE_LUAJIT) - message(STATUS "LuaJIT not found, using bundled Lua.") - set(LUA_LIBRARY "lua") - set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src") - add_subdirectory(lua) -endif() - diff --git a/cmake/Modules/FindLuaJIT.cmake b/cmake/Modules/FindLuaJIT.cmake new file mode 100644 index 000000000..e4335d834 --- /dev/null +++ b/cmake/Modules/FindLuaJIT.cmake @@ -0,0 +1,50 @@ +# Locate LuaJIT library +# This module defines +# LUAJIT_FOUND, if false, do not try to link to Lua +# LUA_INCLUDE_DIR, where to find lua.h +# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) +# +# This module is similar to FindLua51.cmake except that it finds LuaJit instead. + +FIND_PATH(LUA_INCLUDE_DIR luajit.h + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES include/luajit-2.0 include/luajit-5_1-2.0 include + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave + /opt +) + +FIND_LIBRARY(LUA_LIBRARY + NAMES luajit-5.1 + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES lib64 lib + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw + /opt/local + /opt/csw + /opt +) + +IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h") + FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"") + + STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") + UNSET(lua_version_str) +ENDIF() + +INCLUDE(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if +# all listed variables are TRUE +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJit + REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR + VERSION_VAR LUA_VERSION_STRING) + +MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dfbd2f5d8..6256a8504 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -155,8 +155,23 @@ if(ENABLE_FREETYPE) endif() endif(ENABLE_FREETYPE) - -find_package(Lua REQUIRED) +# LuaJIT +option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE) +set(USE_LUAJIT FALSE) +if(ENABLE_LUAJIT) + find_package(LuaJIT) + if(LUAJIT_FOUND) + set(USE_LUAJIT TRUE) + endif(LUAJIT_FOUND) +else() + message (STATUS "LuaJIT detection disabled! (ENABLE_LUAJIT=0)") +endif() +if(NOT USE_LUAJIT) + message(STATUS "LuaJIT not found, using bundled Lua.") + set(LUA_LIBRARY "lua") + set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src") + add_subdirectory(lua) +endif() find_package(GMP REQUIRED) From a78dd7f2b6b0e1fefdbaa1ae21b722dd4459e4f4 Mon Sep 17 00:00:00 2001 From: Jun Zhang Date: Sat, 5 Dec 2015 21:00:11 +0800 Subject: [PATCH 11/52] Fix spelling of noise_threshold --- doc/lua_api.txt | 6 +++--- games/minimal/mods/default/mapgen.lua | 2 +- src/mg_ore.h | 2 +- src/noise.cpp | 8 ++++---- src/script/lua_api/l_mapgen.cpp | 11 ++++++++++- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 4799a30fa..6e7a5446c 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -763,7 +763,7 @@ Creates veins of ore varying in density by according to the intersection of two instances of 3d perlin noise with diffferent seeds, both described by `noise_params`. `random_factor` varies the influence random chance has on placement of an ore inside the vein, which is `1` by default. Note that -modifying this parameter may require adjusting `noise_threshhold`. +modifying this parameter may require adjusting `noise_threshold`. The parameters `clust_scarcity`, `clust_num_ores`, and `clust_size` are ignored by this ore type. This ore type is difficult to control since it is sensitive to small changes. The following is a decent set of parameters to work from: @@ -777,7 +777,7 @@ to small changes. The following is a decent set of parameters to work from: persist = 0.5, flags = "eased", }, - noise_threshhold = 1.6 + noise_threshold = 1.6 WARNING: Use this ore type *very* sparingly since it is ~200x more computationally expensive than any other ore. @@ -3572,7 +3572,7 @@ Definition tables y_max = 64, flags = "", -- ^ Attributes for this ore generation - noise_threshhold = 0.5, + noise_threshold = 0.5, -- ^ If noise is above this threshold, ore is placed. Not needed for a uniform distribution noise_params = {offset=0, scale=1, spread={x=100, y=100, z=100}, seed=23, octaves=3, persist=0.70} -- ^ NoiseParams structure describing the perlin noise used for ore distribution. diff --git a/games/minimal/mods/default/mapgen.lua b/games/minimal/mods/default/mapgen.lua index 2082d5983..65b67dae5 100644 --- a/games/minimal/mods/default/mapgen.lua +++ b/games/minimal/mods/default/mapgen.lua @@ -36,7 +36,7 @@ minetest.register_ore({ clust_size = 7, y_min = -15, y_max = 0, - noise_threshhold = 0, + noise_threshold = 0, noise_params = { offset=0.35, scale=0.2, diff --git a/src/mg_ore.h b/src/mg_ore.h index 8ffb8fca0..2e065cee3 100644 --- a/src/mg_ore.h +++ b/src/mg_ore.h @@ -61,7 +61,7 @@ public: s16 y_max; u8 ore_param2; // to set node-specific attributes u32 flags; // attributes for this ore - float nthresh; // threshhold for noise at which an ore is placed + float nthresh; // threshold for noise at which an ore is placed NoiseParams np; // noise for distribution of clusters (NULL for uniform scattering) Noise *noise; std::set biomes; diff --git a/src/noise.cpp b/src/noise.cpp index b1b702538..2ddc3926f 100644 --- a/src/noise.cpp +++ b/src/noise.cpp @@ -99,17 +99,17 @@ u32 PcgRandom::range(u32 bound) Using rand() % 3, the number 0 would be twice as likely to appear. With a very large RNG range, the effect becomes less prevalent but still present. This can be solved by modifying the range of the RNG - to become a multiple of bound by dropping values above the a threshhold. - In our example, threshhold == 4 - 3 = 1 % 3 == 1, so reject 0, thus + to become a multiple of bound by dropping values above the a threshold. + In our example, threshold == 4 - 3 = 1 % 3 == 1, so reject 0, thus making the range 3 with no bias. This loop looks dangerous, but will always terminate due to the RNG's property of uniformity. */ - u32 threshhold = -bound % bound; + u32 threshold = -bound % bound; u32 r; - while ((r = next()) < threshhold) + while ((r = next()) < threshold) ; return r % bound; diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp index d5cf54f24..b29fd96ca 100644 --- a/src/script/lua_api/l_mapgen.cpp +++ b/src/script/lua_api/l_mapgen.cpp @@ -944,10 +944,19 @@ int ModApiMapgen::l_register_ore(lua_State *L) ore->clust_scarcity = getintfield_default(L, index, "clust_scarcity", 1); ore->clust_num_ores = getintfield_default(L, index, "clust_num_ores", 1); ore->clust_size = getintfield_default(L, index, "clust_size", 0); - ore->nthresh = getfloatfield_default(L, index, "noise_threshhold", 0); ore->noise = NULL; ore->flags = 0; + //// Get noise_threshold + warn_if_field_exists(L, index, "noise_threshhold", + "Deprecated: new name is \"noise_threshold\"."); + + int nthresh; + if (!getintfield(L, index, "noise_threshold", nthresh) && + !getintfield(L, index, "noise_threshhold", nthresh)) + nthresh = 0; + ore->nthresh = nthresh; + //// Get y_min/y_max warn_if_field_exists(L, index, "height_min", "Deprecated: new name is \"y_min\"."); From 49073ba2c34dfd8e286865ed2d108a4ec1eb3e3c Mon Sep 17 00:00:00 2001 From: paramat Date: Wed, 2 Dec 2015 03:28:03 +0000 Subject: [PATCH 12/52] Mapgen: Add propagate_shadow bool to calcLighting To terminate unwanted shadows from floatlands or realms above Also add to LuaVoxelManip calc_lighting for use in mapgen mods Remove the 2 argument calcLighting, mapgens now use the 5 argument form to specify the volumes for propagateSunlight and spreadLight In mgsinglenode replace calcLighting with setLighting and clean-up use of tabs and spaces --- doc/lua_api.txt | 8 +++++--- src/mapgen.cpp | 29 ++++++----------------------- src/mapgen.h | 9 +++------ src/mapgen_singlenode.cpp | 24 ++++++++++++++---------- src/mapgen_singlenode.h | 1 + src/mapgen_v6.cpp | 4 +++- src/script/lua_api/l_vmanip.cpp | 3 ++- 7 files changed, 34 insertions(+), 44 deletions(-) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 6e7a5446c..98442f395 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -2996,7 +2996,7 @@ will place the schematic inside of the VoxelManip. * `update_map()`: Update map after writing chunk back to map. * To be used only by `VoxelManip` objects created by the mod itself; not a `VoxelManip` that was retrieved from `minetest.get_mapgen_object` -* `set_lighting(light, p1, p2)`: Set the lighting within the `VoxelManip` to a uniform value +* `set_lighting(light, [p1, p2])`: Set the lighting within the `VoxelManip` to a uniform value * `light` is a table, `{day=<0...15>, night=<0...15>}` * To be used only by a `VoxelManip` object from `minetest.get_mapgen_object` * (`p1`, `p2`) is the area in which lighting is set; @@ -3010,10 +3010,12 @@ will place the schematic inside of the VoxelManip. * expects lighting data in the same format that `get_light_data()` returns * `get_param2_data()`: Gets the raw `param2` data read into the `VoxelManip` object * `set_param2_data(param2_data)`: Sets the `param2` contents of each node in the `VoxelManip` -* `calc_lighting(p1, p2)`: Calculate lighting within the `VoxelManip` +* `calc_lighting([p1, p2], [propagate_shadow])`: Calculate lighting within the `VoxelManip` * To be used only by a `VoxelManip` object from `minetest.get_mapgen_object` * (`p1`, `p2`) is the area in which lighting is set; defaults to the whole area - if left out + if left out or nil + * `propagate_shadow` is an optional boolean deciding whether shadows in a generated + mapchunk above are propagated down into the mapchunk; defaults to `true` if left out * `update_liquids()`: Update liquid flow * `was_modified()`: Returns `true` or `false` if the data in the voxel manipulator had been modified since the last read from map, due to a call to diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 5a209eddd..36d19bfa7 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -264,37 +264,20 @@ void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light) } -void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax) +void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax, + bool propagate_shadow) { ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG); //TimeTaker t("updateLighting"); - propagateSunlight(nmin, nmax); + propagateSunlight(nmin, nmax, propagate_shadow); spreadLight(full_nmin, full_nmax); //printf("updateLighting: %dms\n", t.stop()); } - -void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax) -{ - ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG); - //TimeTaker t("updateLighting"); - - propagateSunlight( - nmin - v3s16(1, 1, 1) * MAP_BLOCKSIZE, - nmax + v3s16(1, 0, 1) * MAP_BLOCKSIZE); - - spreadLight( - nmin - v3s16(1, 1, 1) * MAP_BLOCKSIZE, - nmax + v3s16(1, 1, 1) * MAP_BLOCKSIZE); - - //printf("updateLighting: %dms\n", t.stop()); -} - - -void Mapgen::propagateSunlight(v3s16 nmin, v3s16 nmax) +void Mapgen::propagateSunlight(v3s16 nmin, v3s16 nmax, bool propagate_shadow) { //TimeTaker t("propagateSunlight"); VoxelArea a(nmin, nmax); @@ -308,7 +291,8 @@ void Mapgen::propagateSunlight(v3s16 nmin, v3s16 nmax) if (vm->m_data[i].getContent() == CONTENT_IGNORE) { if (block_is_underground) continue; - } else if ((vm->m_data[i].param1 & 0x0F) != LIGHT_SUN) { + } else if ((vm->m_data[i].param1 & 0x0F) != LIGHT_SUN && + propagate_shadow) { continue; } vm->m_area.add_y(em, i, -1); @@ -326,7 +310,6 @@ void Mapgen::propagateSunlight(v3s16 nmin, v3s16 nmax) } - void Mapgen::spreadLight(v3s16 nmin, v3s16 nmax) { //TimeTaker t("spreadLight"); diff --git a/src/mapgen.h b/src/mapgen.h index 31cf7dc11..9bb7d03b8 100644 --- a/src/mapgen.h +++ b/src/mapgen.h @@ -173,12 +173,9 @@ public: void setLighting(u8 light, v3s16 nmin, v3s16 nmax); void lightSpread(VoxelArea &a, v3s16 p, u8 light); - - void calcLighting(v3s16 nmin, v3s16 nmax); - void calcLighting(v3s16 nmin, v3s16 nmax, - v3s16 full_nmin, v3s16 full_nmax); - - void propagateSunlight(v3s16 nmin, v3s16 nmax); + void calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax, + bool propagate_shadow = true); + void propagateSunlight(v3s16 nmin, v3s16 nmax, bool propagate_shadow); void spreadLight(v3s16 nmin, v3s16 nmax); virtual void makeChunk(BlockMakeData *data) {} diff --git a/src/mapgen_singlenode.cpp b/src/mapgen_singlenode.cpp index 8b6c25a59..f87115269 100644 --- a/src/mapgen_singlenode.cpp +++ b/src/mapgen_singlenode.cpp @@ -38,6 +38,9 @@ MapgenSinglenode::MapgenSinglenode(int mapgenid, c_node = ndef->getId("mapgen_singlenode"); if (c_node == CONTENT_IGNORE) c_node = CONTENT_AIR; + + MapNode n_node(c_node); + set_light = (ndef->get(n_node).sunlight_propagates) ? LIGHT_SUN : 0x00; } @@ -45,6 +48,7 @@ MapgenSinglenode::~MapgenSinglenode() { } + //////////////////////// Map generator void MapgenSinglenode::makeChunk(BlockMakeData *data) @@ -53,11 +57,11 @@ void MapgenSinglenode::makeChunk(BlockMakeData *data) assert(data->vmanip); assert(data->nodedef); assert(data->blockpos_requested.X >= data->blockpos_min.X && - data->blockpos_requested.Y >= data->blockpos_min.Y && - data->blockpos_requested.Z >= data->blockpos_min.Z); + data->blockpos_requested.Y >= data->blockpos_min.Y && + data->blockpos_requested.Z >= data->blockpos_min.Z); assert(data->blockpos_requested.X <= data->blockpos_max.X && - data->blockpos_requested.Y <= data->blockpos_max.Y && - data->blockpos_requested.Z <= data->blockpos_max.Z); + data->blockpos_requested.Y <= data->blockpos_max.Y && + data->blockpos_requested.Z <= data->blockpos_max.Z); this->generating = true; this->vm = data->vmanip; @@ -67,8 +71,8 @@ void MapgenSinglenode::makeChunk(BlockMakeData *data) v3s16 blockpos_max = data->blockpos_max; // Area of central chunk - v3s16 node_min = blockpos_min*MAP_BLOCKSIZE; - v3s16 node_max = (blockpos_max+v3s16(1,1,1))*MAP_BLOCKSIZE-v3s16(1,1,1); + v3s16 node_min = blockpos_min * MAP_BLOCKSIZE; + v3s16 node_max = (blockpos_max + v3s16(1, 1, 1)) * MAP_BLOCKSIZE - v3s16(1, 1, 1); blockseed = getBlockSeed2(node_min, data->seed); @@ -87,15 +91,15 @@ void MapgenSinglenode::makeChunk(BlockMakeData *data) // Add top and bottom side of water to transforming_liquid queue updateLiquid(&data->transforming_liquid, node_min, node_max); - // Calculate lighting - if (flags & MG_LIGHT) - calcLighting(node_min, node_max); + // Set lighting + if ((flags & MG_LIGHT) && set_light == LIGHT_SUN) + setLighting(LIGHT_SUN, node_min, node_max); this->generating = false; } + int MapgenSinglenode::getGroundLevelAtPoint(v2s16 p) { return 0; } - diff --git a/src/mapgen_singlenode.h b/src/mapgen_singlenode.h index bd3576dc3..f9c97b508 100644 --- a/src/mapgen_singlenode.h +++ b/src/mapgen_singlenode.h @@ -35,6 +35,7 @@ class MapgenSinglenode : public Mapgen { public: u32 flags; content_t c_node; + u8 set_light; MapgenSinglenode(int mapgenid, MapgenParams *params, EmergeManager *emerge); ~MapgenSinglenode(); diff --git a/src/mapgen_v6.cpp b/src/mapgen_v6.cpp index 3b5915bd1..0a9f80dc9 100644 --- a/src/mapgen_v6.cpp +++ b/src/mapgen_v6.cpp @@ -593,7 +593,9 @@ void MapgenV6::makeChunk(BlockMakeData *data) // Calculate lighting if (flags & MG_LIGHT) - calcLighting(node_min, node_max); + calcLighting(node_min - v3s16(1, 1, 1) * MAP_BLOCKSIZE, + node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE, + full_node_min, full_node_max); this->generating = false; } diff --git a/src/script/lua_api/l_vmanip.cpp b/src/script/lua_api/l_vmanip.cpp index ec9be8fba..f13866408 100644 --- a/src/script/lua_api/l_vmanip.cpp +++ b/src/script/lua_api/l_vmanip.cpp @@ -181,6 +181,7 @@ int LuaVoxelManip::l_calc_lighting(lua_State *L) v3s16 fpmax = vm->m_area.MaxEdge; v3s16 pmin = lua_istable(L, 2) ? check_v3s16(L, 2) : fpmin + yblock; v3s16 pmax = lua_istable(L, 3) ? check_v3s16(L, 3) : fpmax - yblock; + bool propagate_shadow = lua_isboolean(L, 4) ? lua_toboolean(L, 4) : true; sortBoxVerticies(pmin, pmax); if (!vm->m_area.contains(VoxelArea(pmin, pmax))) @@ -191,7 +192,7 @@ int LuaVoxelManip::l_calc_lighting(lua_State *L) mg.ndef = ndef; mg.water_level = emerge->params.water_level; - mg.calcLighting(pmin, pmax, fpmin, fpmax); + mg.calcLighting(pmin, pmax, fpmin, fpmax, propagate_shadow); return 0; } From 9a5a538e8d1981fb3c2dd69ca3d37e4f9c426cf5 Mon Sep 17 00:00:00 2001 From: est31 Date: Mon, 7 Dec 2015 07:26:12 +0100 Subject: [PATCH 13/52] lua_api.txt: add blank lines before * lists If rendered as markdown, lists need a blank line before them so that they are recognized as such. --- doc/lua_api.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 98442f395..56dc84d24 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -1305,10 +1305,12 @@ mentioned in "Nodes". However, it is possible to insert extra data into a node. It is called "node metadata"; See "`NodeMetaRef`". Metadata contains two things: + * A key-value store * An inventory Some of the values in the key-value store are handled specially: + * `formspec`: Defines a right-click inventory menu. See "Formspec". * `infotext`: Text shown on the screen when the node is pointed at @@ -2938,6 +2940,7 @@ core.CONTENT_IGNORE (ID for "ignore" nodes) Inside of `on_generated()` callbacks, it is possible to retrieve the same VoxelManip object used by the core's Map Generator (commonly abbreviated Mapgen). Most of the rules previously described still apply but with a few differences: + * The Mapgen VoxelManip object is retrieved using: `minetest.get_mapgen_object("voxelmanip")` * This VoxelManip object already has the region of map just generated loaded into it; it's not necessary to call `VoxelManip:read_from_map()` before using a Mapgen VoxelManip. From 51e8c2b27786c050f0271eeeaed5eea17d62f0a0 Mon Sep 17 00:00:00 2001 From: est31 Date: Mon, 7 Dec 2015 09:42:39 +0100 Subject: [PATCH 14/52] Fix threshold type Fix the type of the threshold value for mapgen. The commit a78dd7f2b6b0e1fefdbaa1ae21b722dd4459e4f4 "Fix spelling of noise_threshold" has changed it to be read as int, but it can have non-integral values too. Thanks to @kwolekr for pointing this out. --- src/script/lua_api/l_mapgen.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp index b29fd96ca..fb839176b 100644 --- a/src/script/lua_api/l_mapgen.cpp +++ b/src/script/lua_api/l_mapgen.cpp @@ -951,9 +951,9 @@ int ModApiMapgen::l_register_ore(lua_State *L) warn_if_field_exists(L, index, "noise_threshhold", "Deprecated: new name is \"noise_threshold\"."); - int nthresh; - if (!getintfield(L, index, "noise_threshold", nthresh) && - !getintfield(L, index, "noise_threshhold", nthresh)) + float nthresh; + if (!getfloatfield(L, index, "noise_threshold", nthresh) && + !getfloatfield(L, index, "noise_threshhold", nthresh)) nthresh = 0; ore->nthresh = nthresh; From ea2964f5a168cb52d1b9f74a08f00c7c068c6649 Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Mon, 24 Aug 2015 17:00:06 -0400 Subject: [PATCH 15/52] Add seperate cache path This is set to the XDG cache path where possible. It's set to the app's cache path on Android. --- src/clientmedia.cpp | 2 +- src/filesys.cpp | 5 +++ src/filesys.h | 2 ++ src/main.cpp | 12 +++---- src/porting.cpp | 38 +++++++++++++++++++++- src/porting.h | 11 +++++++ src/porting_android.cpp | 72 ++++++++++++++++++++++++++++++----------- src/porting_android.h | 6 ++-- 8 files changed, 118 insertions(+), 30 deletions(-) diff --git a/src/clientmedia.cpp b/src/clientmedia.cpp index ea11ad239..bca3f67c2 100644 --- a/src/clientmedia.cpp +++ b/src/clientmedia.cpp @@ -34,7 +34,7 @@ with this program; if not, write to the Free Software Foundation, Inc., static std::string getMediaCacheDir() { - return porting::path_user + DIR_DELIM + "cache" + DIR_DELIM + "media"; + return porting::path_cache + DIR_DELIM + "media"; } /* diff --git a/src/filesys.cpp b/src/filesys.cpp index 4cefdb807..5fdc97634 100644 --- a/src/filesys.cpp +++ b/src/filesys.cpp @@ -707,5 +707,10 @@ bool safeWriteToFile(const std::string &path, const std::string &content) } } +bool Rename(const std::string &from, const std::string &to) +{ + return rename(from.c_str(), to.c_str()) == 0; +} + } // namespace fs diff --git a/src/filesys.h b/src/filesys.h index cc6f43ec4..94d0c874d 100644 --- a/src/filesys.h +++ b/src/filesys.h @@ -115,6 +115,8 @@ const char *GetFilenameFromPath(const char *path); bool safeWriteToFile(const std::string &path, const std::string &content); +bool Rename(const std::string &from, const std::string &to); + } // namespace fs #endif diff --git a/src/main.cpp b/src/main.cpp index 151ea7148..72daaef01 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -164,7 +164,13 @@ int main(int argc, char *argv[]) setup_log_params(cmd_args); porting::signal_handler_init(); + +#ifdef __ANDROID__ + porting::initAndroid(); + porting::initializePathsAndroid(); +#else porting::initializePaths(); +#endif if (!create_userdata_path()) { errorstream << "Cannot create user data directory" << std::endl; @@ -422,9 +428,6 @@ static bool create_userdata_path() bool success; #ifdef __ANDROID__ - porting::initAndroid(); - - porting::setExternalStorageDir(porting::jnienv); if (!fs::PathExists(porting::path_user)) { success = fs::CreateDir(porting::path_user); } else { @@ -436,9 +439,6 @@ static bool create_userdata_path() success = fs::CreateDir(porting::path_user); #endif - infostream << "path_share = " << porting::path_share << std::endl; - infostream << "path_user = " << porting::path_user << std::endl; - return success; } diff --git a/src/porting.cpp b/src/porting.cpp index 3e39fc813..4a72e90fd 100644 --- a/src/porting.cpp +++ b/src/porting.cpp @@ -139,6 +139,7 @@ void signal_handler_init(void) std::string path_share = ".."; std::string path_user = ".."; std::string path_locale = path_share + DIR_DELIM + "locale"; +std::string path_cache = path_user + DIR_DELIM + "cache"; std::string getDataPath(const char *subpath) @@ -463,6 +464,25 @@ bool setSystemPaths() #endif +void migrateCachePath() +{ + const std::string local_cache_path = path_user + DIR_DELIM + "cache"; + + // Delete tmp folder if it exists (it only ever contained + // a temporary ogg file, which is no longer used). + if (fs::PathExists(local_cache_path + DIR_DELIM + "tmp")) + fs::RecursiveDelete(local_cache_path + DIR_DELIM + "tmp"); + + // Bail if migration impossible + if (path_cache == local_cache_path || !fs::PathExists(local_cache_path) + || fs::PathExists(path_cache)) { + return; + } + if (!fs::Rename(local_cache_path, path_cache)) { + errorstream << "Failed to migrate local cache path " + "to system path!" << std::endl; + } +} void initializePaths() { @@ -513,10 +533,27 @@ void initializePaths() if (!setSystemPaths()) errorstream << "Failed to get one or more system-wide path" << std::endl; + // Initialize path_cache + // First try $XDG_CACHE_HOME/PROJECT_NAME + const char *cache_dir = getenv("XDG_CACHE_HOME"); + if (cache_dir) { + path_cache = std::string(cache_dir) + DIR_DELIM + PROJECT_NAME; + } else { + // Then try $HOME/.cache/PROJECT_NAME + const char *home_dir = getenv("HOME"); + if (home_dir) { + path_cache = std::string(home_dir) + DIR_DELIM + ".cache" + + DIR_DELIM + PROJECT_NAME; + } + // If neither works, leave it at $PATH_USER/cache + } + // Migrate cache folder to new location if possible + migrateCachePath(); #endif infostream << "Detected share path: " << path_share << std::endl; infostream << "Detected user path: " << path_user << std::endl; + infostream << "Detected cache path: " << path_cache << std::endl; bool found_localedir = false; #ifdef STATIC_LOCALEDIR @@ -542,7 +579,6 @@ void initializePaths() if (!found_localedir) { errorstream << "Couldn't find a locale directory!" << std::endl; } - } diff --git a/src/porting.h b/src/porting.h index 1e89cd044..5da32607c 100644 --- a/src/porting.h +++ b/src/porting.h @@ -147,12 +147,23 @@ extern std::string path_user; */ extern std::string path_locale; +/* + Path to directory for storing caches. +*/ +extern std::string path_cache; + /* Get full path of stuff in data directory. Example: "stone.png" -> "../data/stone.png" */ std::string getDataPath(const char *subpath); +/* + Move cache folder from path_user to the + system cache location if possible. +*/ +void migrateCachePath(); + /* Initialize path_*. */ diff --git a/src/porting_android.cpp b/src/porting_android.cpp index c7e28cc9a..72b625d73 100644 --- a/src/porting_android.cpp +++ b/src/porting_android.cpp @@ -164,29 +164,63 @@ void cleanupAndroid() jvm->DetachCurrentThread(); } -void setExternalStorageDir(JNIEnv* lJNIEnv) +static std::string javaStringToUTF8(jstring js) { - // Android: Retrieve ablsolute path to external storage device (sdcard) - jclass ClassEnv = lJNIEnv->FindClass("android/os/Environment"); - jmethodID MethodDir = - lJNIEnv->GetStaticMethodID(ClassEnv, - "getExternalStorageDirectory","()Ljava/io/File;"); - jobject ObjectFile = lJNIEnv->CallStaticObjectMethod(ClassEnv, MethodDir); - jclass ClassFile = lJNIEnv->FindClass("java/io/File"); + std::string str; + // Get string as a UTF-8 c-string + const char *c_str = jnienv->GetStringUTFChars(js, NULL); + // Save it + str = c_str; + // And free the c-string + jnienv->ReleaseStringUTFChars(js, c_str); + return str; +} - jmethodID MethodPath = - lJNIEnv->GetMethodID(ClassFile, "getAbsolutePath", - "()Ljava/lang/String;"); - jstring StringPath = - (jstring) lJNIEnv->CallObjectMethod(ObjectFile, MethodPath); +// Calls static method if obj is NULL +static std::string getAndroidPath(jclass cls, jobject obj, jclass cls_File, + jmethodID mt_getAbsPath, const char *getter) +{ + // Get getter method + jmethodID mt_getter; + if (obj) + mt_getter = jnienv->GetMethodID(cls, getter, + "()Ljava/io/File;"); + else + mt_getter = jnienv->GetStaticMethodID(cls, getter, + "()Ljava/io/File;"); - const char *externalPath = lJNIEnv->GetStringUTFChars(StringPath, NULL); - std::string userPath(externalPath); - lJNIEnv->ReleaseStringUTFChars(StringPath, externalPath); + // Call getter + jobject ob_file; + if (obj) + ob_file = jnienv->CallObjectMethod(obj, mt_getter); + else + ob_file = jnienv->CallStaticObjectMethod(cls, mt_getter); - path_storage = userPath; - path_user = userPath + DIR_DELIM + PROJECT_NAME_C; - path_share = userPath + DIR_DELIM + PROJECT_NAME_C; + // Call getAbsolutePath + jstring js_path = (jstring) jnienv->CallObjectMethod(ob_file, + mt_getAbsPath); + + return javaStringToUTF8(js_path); +} + +void initializePathsAndroid() +{ + // Get Environment class + jclass cls_Env = jnienv->FindClass("android/os/Environment"); + // Get File class + jclass cls_File = jnienv->FindClass("java/io/File"); + // Get getAbsolutePath method + jmethodID mt_getAbsPath = jnienv->GetMethodID(cls_File, + "getAbsolutePath", "()Ljava/lang/String;"); + + path_cache = getAndroidPath(nativeActivity, app_global->activity->clazz, + cls_File, mt_getAbsPath, "getCacheDir"); + path_storage = getAndroidPath(cls_Env, NULL, cls_File, mt_getAbsPath, + "getExternalStorageDirectory"); + path_user = path_storage + DIR_DELIM + PROJECT_NAME_C; + path_share = path_storage + DIR_DELIM + PROJECT_NAME_C; + + migrateCachePath(); } void showInputDialog(const std::string& acceptButton, const std::string& hint, diff --git a/src/porting_android.h b/src/porting_android.h index bfdadfbff..e4be0740d 100644 --- a/src/porting_android.h +++ b/src/porting_android.h @@ -43,10 +43,10 @@ void initAndroid(); void cleanupAndroid(); /** - * set storage dir on external sdcard# - * @param lJNIEnv environment from android + * Initializes path_* variables for Android + * @param env Android JNI environment */ -void setExternalStorageDir(JNIEnv* lJNIEnv); +void initializePathsAndroid(); /** * use java function to copy media from assets to external storage From 696148e29889b2923f926b27f76979454676506d Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Sun, 29 Nov 2015 00:17:51 -0500 Subject: [PATCH 16/52] Fix Event implementation On non-windows platforms this just used a semaphore, which meant that multiple calls to signal() would result in wait() returning multiple times. --- src/threading/CMakeLists.txt | 1 + src/threading/event.cpp | 95 ++++++++++++++++++++++++++++++++++++ src/threading/event.h | 38 ++++++++++----- 3 files changed, 121 insertions(+), 13 deletions(-) create mode 100644 src/threading/event.cpp diff --git a/src/threading/CMakeLists.txt b/src/threading/CMakeLists.txt index f3d0efc18..5dd60ef1a 100644 --- a/src/threading/CMakeLists.txt +++ b/src/threading/CMakeLists.txt @@ -1,4 +1,5 @@ set(JTHREAD_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/event.cpp ${CMAKE_CURRENT_SOURCE_DIR}/mutex.cpp ${CMAKE_CURRENT_SOURCE_DIR}/thread.cpp ${CMAKE_CURRENT_SOURCE_DIR}/semaphore.cpp diff --git a/src/threading/event.cpp b/src/threading/event.cpp new file mode 100644 index 000000000..1c458bf1d --- /dev/null +++ b/src/threading/event.cpp @@ -0,0 +1,95 @@ +/* +This file is a part of the JThread package, which contains some object- +oriented thread wrappers for different thread implementations. + +Copyright (c) 2000-2006 Jori Liesenborgs (jori.liesenborgs@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*/ + +#include "threading/event.h" + +#if defined(_WIN32) + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #include +#endif + + +#if __cplusplus < 201103L +Event::Event() +{ +#ifdef _WIN32 + event = CreateEvent(NULL, false, false, NULL); +#else + pthread_cond_init(&cv, NULL); + pthread_mutex_init(&mutex, NULL); +#endif +} + +Event::~Event() +{ +#ifdef _WIN32 + CloseHandle(event); +#else + pthread_cond_destroy(&cv); + pthread_mutex_destroy(&mutex); +#endif +} +#endif + + +void Event::wait() +{ +#if __cplusplus >= 201103L + MutexAutoLock lock(mutex); + while (!notified) { + cv.wait(lock); + } + notified = false; +#elif defined(_WIN32) + WaitForSingleObject(event, INFINITE); +#else + pthread_mutex_lock(&mutex); + while (!notified) { + pthread_cond_wait(&cv, &mutex); + } + notified = false; + pthread_mutex_unlock(&mutex); +#endif +} + + +void Event::signal() +{ +#if __cplusplus >= 201103L + MutexAutoLock lock(mutex); + notified = true; + cv.notify_one(); +#elif defined(_WIN32) + SetEvent(event); +#else + pthread_mutex_lock(&mutex); + notified = true; + pthread_cond_signal(&cv); + pthread_mutex_unlock(&mutex); +#endif +} + diff --git a/src/threading/event.h b/src/threading/event.h index 0105630e5..ea087e53f 100644 --- a/src/threading/event.h +++ b/src/threading/event.h @@ -26,30 +26,42 @@ DEALINGS IN THE SOFTWARE. #ifndef THREADING_EVENT_H #define THREADING_EVENT_H -#ifdef _WIN32 - #include +#if __cplusplus >= 201103L + #include + #include "threading/mutex.h" +#elif defined(_WIN32) + #include #else - #include "threading/semaphore.h" + #include #endif +/** A syncronization primitive that will wake up one waiting thread when signaled. + * Calling @c signal() multiple times before a waiting thread has had a chance + * to notice the signal will wake only one thread. Additionally, if no threads + * are waiting on the event when it is signaled, the next call to @c wait() + * will return (almost) immediately. + */ class Event { public: -#ifdef _WIN32 - Event() { event = CreateEvent(NULL, false, false, NULL); } - ~Event() { CloseHandle(event); } - void wait() { WaitForSingleObject(event, INFINITE); } - void signal() { SetEvent(event); } -#else - void wait() { sem.wait(); } - void signal() { sem.post(); } +#if __cplusplus < 201103L + Event(); + ~Event(); #endif + void wait(); + void signal(); private: -#ifdef _WIN32 +#if __cplusplus >= 201103L + std::condition_variable cv; + Mutex mutex; + bool notified; +#elif defined(_WIN32) HANDLE event; #else - Semaphore sem; + pthread_cond_t cv; + pthread_mutex_t mutex; + bool notified; #endif }; From a64d78a37e95b99f32c29c8dec2e0cdae85a8b41 Mon Sep 17 00:00:00 2001 From: RealBadAngel Date: Wed, 9 Dec 2015 23:08:55 +0100 Subject: [PATCH 17/52] Speed up and make more accurate relief mapping using linear + binary search. --- .../shaders/nodes_shader/opengl_fragment.glsl | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/client/shaders/nodes_shader/opengl_fragment.glsl b/client/shaders/nodes_shader/opengl_fragment.glsl index 424d32177..b3789e1cb 100644 --- a/client/shaders/nodes_shader/opengl_fragment.glsl +++ b/client/shaders/nodes_shader/opengl_fragment.glsl @@ -47,15 +47,29 @@ vec4 get_normal_map(vec2 uv) float find_intersection(vec2 dp, vec2 ds) { - const float depth_step = 1.0 / 24.0; float depth = 1.0; - for (int i = 0 ; i < 24 ; i++) { + float best_depth = 0.0; + float size = 0.0625; + for (int i = 0; i < 15; i++) { + depth -= size; float h = texture2D(normalTexture, dp + ds * depth).a; - if (h >= depth) + if (depth <= h) { + best_depth = depth; break; - depth -= depth_step; + } } - return depth; + depth = best_depth; + for (int i = 0; i < 4; i++) { + size *= 0.5; + float h = texture2D(normalTexture,dp + ds * depth).a; + if (depth <= h) { + best_depth = depth; + depth += size; + } else { + depth -= size; + } + } + return best_depth; } float find_intersectionRGB(vec2 dp, vec2 ds) From 8e3602f6949026b740bd190c0d21a75cf5720eeb Mon Sep 17 00:00:00 2001 From: est31 Date: Thu, 10 Dec 2015 18:25:28 +0100 Subject: [PATCH 18/52] Fix some setting documentation * Horizontal and vertical are used wrongly. Use height and width because horizontal/vertical describes different things. Thanks @kilbith for pointing out. * Update minetest.conf.example and settings_translation_file.cpp * Correct maximum/minimum copy paste mistake. --- builtin/settingtypes.txt | 6 +-- minetest.conf.example | 8 ++-- src/settings_translation_file.cpp | 64 ++++++++++++++++++------------- 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 2929b860b..4a714e1aa 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -401,13 +401,13 @@ pause_fps_max (FPS in pause menu) int 20 viewing_range_nodes_max (Viewing range maximum) int 160 # The allowed adjustment range for the automatic rendering range adjustment. -# Set this to be equal to viewing range minimum to disable the auto-adjustment algorithm. +# Set this to be equal to viewing range maximum to disable the auto-adjustment algorithm. viewing_range_nodes_min (Viewing range minimum) int 35 -# Vertical initial window size. +# Width component of the initial window size. screenW (Screen width) int 800 -# Horizontal initial window size. +# Height component of the initial window size. screenH (Screen height) int 600 # Fullscreen mode. diff --git a/minetest.conf.example b/minetest.conf.example index 37d622d3d..34d618fd5 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -451,15 +451,15 @@ # viewing_range_nodes_max = 160 # The allowed adjustment range for the automatic rendering range adjustment. -# Set this to be equal to viewing range minimum to disable the auto-adjustment algorithm. +# Set this to be equal to viewing range maximum to disable the auto-adjustment algorithm. # type: int # viewing_range_nodes_min = 35 -# Vertical initial window size. +# Width component of the initial window size. # type: int # screenW = 800 -# Horizontal initial window size. +# Height component of the initial window size. # type: int # screenH = 600 @@ -1243,7 +1243,7 @@ # 6 = "Mandy Cousin" julia set. # 7 = "Variation" mandelbrot set. # 8 = "Variation" julia set. -# type: int +# type: int min: 1 max: 8 # mgfractal_formula = 1 # Iterations of the recursive function. diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp index 89bd192e4..b078e4d12 100644 --- a/src/settings_translation_file.cpp +++ b/src/settings_translation_file.cpp @@ -185,11 +185,11 @@ fake_function() { gettext("Viewing range maximum"); gettext("The allowed adjustment range for the automatic rendering range adjustment.\nSet this to be equal to viewing range minimum to disable the auto-adjustment algorithm."); gettext("Viewing range minimum"); - gettext("The allowed adjustment range for the automatic rendering range adjustment.\nSet this to be equal to viewing range minimum to disable the auto-adjustment algorithm."); + gettext("The allowed adjustment range for the automatic rendering range adjustment.\nSet this to be equal to viewing range maximum to disable the auto-adjustment algorithm."); gettext("Screen width"); - gettext("Vertical initial window size."); + gettext("Width component of the initial window size."); gettext("Screen height"); - gettext("Horizontal initial window size."); + gettext("Height component of the initial window size."); gettext("Full screen"); gettext("Fullscreen mode."); gettext("Full screen BPP"); @@ -424,7 +424,7 @@ fake_function() { gettext("Map generation limit"); gettext("Where the map generator stops.\nPlease note:\n- Limited to 31000 (setting above has no effect)\n- The map generator works in groups of 80x80x80 nodes (5x5x5 MapBlocks).\n- Those groups have an offset of -32, -32 nodes from the origin.\n- Only groups which are within the map_generation_limit are generated"); gettext("Mapgen flags"); - gettext("Global map generation attributes.\nFlags that are not specified in the flag string are not modified from the default.\nFlags starting with \"no\" are used to explicitly disable them.\n'trees' and 'flat' flags only have effect in mgv6."); + gettext("Global map generation attributes.\nIn Mapgen v6 the 'decorations' flag controls all decorations except trees\nand junglegrass, in all other mapgens this flag controls all decorations.\nFlags that are not specified in the flag string are not modified from the default.\nFlags starting with \"no\" are used to explicitly disable them."); gettext("Advanced"); gettext("Chunk size"); gettext("Size of chunks to be generated at once by mapgen, stated in mapblocks (16 nodes)."); @@ -480,33 +480,45 @@ fake_function() { gettext("Mapgen v7 ridge noise parameters"); gettext("Mapgen v7 cave1 noise parameters"); gettext("Mapgen v7 cave2 noise parameters"); + gettext("Mapgen flat"); + gettext("Mapgen flat flags"); + gettext("Map generation attributes specific to Mapgen flat.\nOccasional lakes and hills added to the flat world.\nFlags that are not specified in the flag string are not modified from the default.\nFlags starting with \"no\" are used to explicitly disable them."); + gettext("Mapgen flat ground level"); + gettext("Y of flat ground."); + gettext("Mapgen flat large cave depth"); + gettext("Y of upper limit of large pseudorandom caves."); + gettext("Mapgen flat lake threshold"); + gettext("Terrain noise threshold for lakes.\nControls proportion of world area covered by lakes.\nAdjust towards 0.0 for a larger proportion."); + gettext("Mapgen flat lake steepness"); + gettext("Controls steepness/depth of lake depressions."); + gettext("Mapgen flat hill threshold"); + gettext("Terrain noise threshold for hills.\nControls proportion of world area covered by hills.\nAdjust towards 0.0 for a larger proportion."); + gettext("Mapgen flat hill steepness"); + gettext("Controls steepness/height of hills."); + gettext("Mapgen flat terrain noise parameters"); + gettext("Determines terrain shape.\nThe 3 numbers in brackets control the scale of the\nterrain, the 3 numbers should be identical."); + gettext("Mapgen flat filler depth noise parameters"); + gettext("Mapgen flat cave1 noise parameters"); + gettext("Mapgen flat cave2 noise parameters"); gettext("Mapgen fractal"); - gettext("Mapgen fractal flags"); - gettext("Map generation attributes specific to Mapgen fractal.\n'julia' selects a julia set to be generated instead of a mandelbrot set.\nFlags that are not specified in the flag string are not modified from the default.\nFlags starting with \"no\" are used to explicitly disable them."); - gettext("Mapgen fractal mandelbrot iterations"); - gettext("Mandelbrot set: Iterations of the recursive function.\nControls scale of finest detail."); - gettext("Mapgen fractal mandelbrot scale"); - gettext("Mandelbrot set: Approximate (X,Y,Z) scales in nodes."); - gettext("Mapgen fractal mandelbrot offset"); - gettext("Mandelbrot set: (X,Y,Z) offsets from world centre.\nRange roughly -2 to 2, multiply by m_scale for offsets in nodes."); - gettext("Mapgen fractal mandelbrot slice w"); - gettext("Mandelbrot set: W co-ordinate of the generated 3D slice of the 4D shape.\nRange roughly -2 to 2."); - gettext("Mapgen fractal julia iterations"); - gettext("Julia set: Iterations of the recursive function.\nControls scale of finest detail."); - gettext("Mapgen fractal julia scale"); - gettext("Julia set: Approximate (X,Y,Z) scales in nodes."); - gettext("Mapgen fractal julia offset"); - gettext("Julia set: (X,Y,Z) offsets from world centre.\nRange roughly -2 to 2, multiply by j_scale for offsets in nodes."); - gettext("Mapgen fractal julia slice w"); - gettext("Julia set: W co-ordinate of the generated 3D slice of the 4D shape.\nRange roughly -2 to 2."); + gettext("Mapgen fractal formula"); + gettext("Choice of 8 4-dimensional fractals.\n1 = \"Roundy\" mandelbrot set.\n2 = \"Roundy\" julia set.\n3 = \"Squarry\" mandelbrot set.\n4 = \"Squarry\" julia set.\n5 = \"Mandy Cousin\" mandelbrot set.\n6 = \"Mandy Cousin\" julia set.\n7 = \"Variation\" mandelbrot set.\n8 = \"Variation\" julia set."); + gettext("Mapgen fractal iterations"); + gettext("Iterations of the recursive function.\nControls scale of finest detail."); + gettext("Mapgen fractal scale"); + gettext("Approximate (X,Y,Z) scale of fractal in nodes."); + gettext("Mapgen fractal offset"); + gettext("(X,Y,Z) offset of fractal from world centre.\nUsed to move a suitable spawn area of low land close to (0, 0).\nThe default is suitable for mandelbrot sets, it needs to be edited for julia sets,\ndo this by greatly reducing 'scale' and setting 'offset' initially to (0, 0, 0).\nRange roughly -2 to 2. Multiply by 'scale' for offset in nodes."); + gettext("Mapgen fractal slice w"); + gettext("W co-ordinate of the generated 3D slice of the 4D shape.\nAlters the generated 3D shape.\nRange roughly -2 to 2."); gettext("Mapgen fractal julia x"); - gettext("Julia set: X value determining the 4D shape.\nRange roughly -2 to 2."); + gettext("Julia set only: X value determining the 4D shape.\nRange roughly -2 to 2."); gettext("Mapgen fractal julia y"); - gettext("Julia set: Y value determining the 4D shape.\nRange roughly -2 to 2."); + gettext("Julia set only: Y value determining the 4D shape.\nRange roughly -2 to 2."); gettext("Mapgen fractal julia z"); - gettext("Julia set: Z value determining the 4D shape.\nRange roughly -2 to 2."); + gettext("Julia set only: Z value determining the 4D shape.\nRange roughly -2 to 2."); gettext("Mapgen fractal julia w"); - gettext("Julia set: W value determining the 4D shape.\nRange roughly -2 to 2."); + gettext("Julia set only: W value determining the 4D shape.\nRange roughly -2 to 2."); gettext("Mapgen fractal seabed noise parameters"); gettext("Mapgen fractal filler depth noise parameters"); gettext("Mapgen fractal cave1 noise parameters"); From 6133b2bc4518d0b7cf5836fef0d7317f677bf8e0 Mon Sep 17 00:00:00 2001 From: est31 Date: Fri, 11 Dec 2015 11:22:05 +0100 Subject: [PATCH 19/52] Fix android build Fix android build since commit 696148e29889b2923f926b27f76979454676506d "Fix Event implementation" by @ShadowNinja. Fixes #3444. Thanks @kwolekr for pointing out the fix. --- build/android/jni/Android.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/build/android/jni/Android.mk b/build/android/jni/Android.mk index b8fd9db78..435dfa3b8 100644 --- a/build/android/jni/Android.mk +++ b/build/android/jni/Android.mk @@ -349,6 +349,7 @@ LOCAL_SRC_FILES += deps/sqlite/sqlite3.c # Threading LOCAL_SRC_FILES += \ + jni/src/threading/event.cpp \ jni/src/threading/mutex.cpp \ jni/src/threading/semaphore.cpp \ jni/src/threading/thread.cpp From aed10765f208aedf324128972c74ecc033bb5035 Mon Sep 17 00:00:00 2001 From: BlockMen Date: Fri, 11 Dec 2015 22:40:37 +0100 Subject: [PATCH 20/52] Fix events on Windows --- src/threading/event.cpp | 9 --------- src/threading/event.h | 6 ++++-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/threading/event.cpp b/src/threading/event.cpp index 1c458bf1d..c3c2ca029 100644 --- a/src/threading/event.cpp +++ b/src/threading/event.cpp @@ -25,14 +25,6 @@ DEALINGS IN THE SOFTWARE. #include "threading/event.h" -#if defined(_WIN32) - #ifndef WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN - #endif - #include -#endif - - #if __cplusplus < 201103L Event::Event() { @@ -92,4 +84,3 @@ void Event::signal() pthread_mutex_unlock(&mutex); #endif } - diff --git a/src/threading/event.h b/src/threading/event.h index ea087e53f..dba3ddb4c 100644 --- a/src/threading/event.h +++ b/src/threading/event.h @@ -30,7 +30,10 @@ DEALINGS IN THE SOFTWARE. #include #include "threading/mutex.h" #elif defined(_WIN32) - #include + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #include #else #include #endif @@ -66,4 +69,3 @@ private: }; #endif - From c26eb87aec7438d167fa2f460a3f412db09c0ac5 Mon Sep 17 00:00:00 2001 From: paramat Date: Tue, 8 Dec 2015 05:40:36 +0000 Subject: [PATCH 21/52] Mgfractal: Add 3D and 4D fractals 3D Mandelbrot/Mandelbar 3D Christmas Tree 3D Mandelbulb 3D Cosine Mandelbulb 4D Mandelbulb Plus corresponding julia set for each Add credits for formulas Rename parameter 'formula' to 'fractal' Speed optimisations --- builtin/settingtypes.txt | 51 ++++++++++++++--------- minetest.conf.example | 53 ++++++++++++++---------- src/mapgen_fractal.cpp | 88 +++++++++++++++++++++++++++++++++------- src/mapgen_fractal.h | 12 ++++-- 4 files changed, 145 insertions(+), 59 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 4a714e1aa..62f817062 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -970,49 +970,60 @@ mgflat_np_cave2 (Mapgen flat cave2 noise parameters) noise_params 0, 12, (128, 1 [***Mapgen fractal] -# Choice of 8 4-dimensional fractals. -# 1 = "Roundy" mandelbrot set. -# 2 = "Roundy" julia set. -# 3 = "Squarry" mandelbrot set. -# 4 = "Squarry" julia set. -# 5 = "Mandy Cousin" mandelbrot set. -# 6 = "Mandy Cousin" julia set. -# 7 = "Variation" mandelbrot set. -# 8 = "Variation" julia set. -mgfractal_formula (Mapgen fractal formula) int 1 1 8 +# Choice of 18 fractals from 9 formulas. +# 1 = 4D "Roundy" mandelbrot set. +# 2 = 4D "Roundy" julia set. +# 3 = 4D "Squarry" mandelbrot set. +# 4 = 4D "Squarry" julia set. +# 5 = 4D "Mandy Cousin" mandelbrot set. +# 6 = 4D "Mandy Cousin" julia set. +# 7 = 4D "Variation" mandelbrot set. +# 8 = 4D "Variation" julia set. +# 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set. +# 10 = 3D "Mandelbrot/Mandelbar" julia set. +# 11 = 3D "Christmas Tree" mandelbrot set. +# 12 = 3D "Christmas Tree" julia set. +# 13 = 3D "Mandelbulb" mandelbrot set. +# 14 = 3D "Mandelbulb" julia set. +# 15 = 3D "Cosine Mandelbulb" mandelbrot set. +# 16 = 3D "Cosine Mandelbulb" julia set. +# 17 = 4D "Mandelbulb" mandelbrot set. +# 18 = 4D "Mandelbulb" julia set. +mgfractal_fractal (Mapgen fractal fractal) int 1 1 18 # Iterations of the recursive function. -# Controls scale of finest detail. +# Controls the amount of fine detail. mgfractal_iterations (Mapgen fractal iterations) int 11 # Approximate (X,Y,Z) scale of fractal in nodes. mgfractal_scale (Mapgen fractal scale) v3f (4096.0, 1024.0, 4096.0) -# (X,Y,Z) offset of fractal from world centre. +# (X,Y,Z) offset of fractal from world centre in units of 'scale'. # Used to move a suitable spawn area of low land close to (0, 0). -# The default is suitable for mandelbrot sets, it needs to be edited for julia sets, -# do this by greatly reducing 'scale' and setting 'offset' initially to (0, 0, 0). +# The default is suitable for mandelbrot sets, it needs to be edited for julia sets. # Range roughly -2 to 2. Multiply by 'scale' for offset in nodes. mgfractal_offset (Mapgen fractal offset) v3f (1.79, 0.0, 0.0) -# W co-ordinate of the generated 3D slice of the 4D shape. -# Alters the generated 3D shape. +# W co-ordinate of the generated 3D slice of a 4D fractal. +# Determines which 3D slice of the 4D shape is generated. +# Has no effect on 3D fractals. # Range roughly -2 to 2. mgfractal_slice_w (Mapgen fractal slice w) float 0.0 -# Julia set only: X value determining the 4D shape. +# Julia set only: X component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. mgfractal_julia_x (Mapgen fractal julia x) float 0.33 -# Julia set only: Y value determining the 4D shape. +# Julia set only: Y component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. mgfractal_julia_y (Mapgen fractal julia y) float 0.33 -# Julia set only: Z value determining the 4D shape. +# Julia set only: Z component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. mgfractal_julia_z (Mapgen fractal julia z) float 0.33 -# Julia set only: W value determining the 4D shape. +# Julia set only: W component of hypercomplex constant determining julia shape. +# Has no effect on 3D fractals. # Range roughly -2 to 2. mgfractal_julia_w (Mapgen fractal julia w) float 0.33 diff --git a/minetest.conf.example b/minetest.conf.example index 34d618fd5..40456f953 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -1234,20 +1234,30 @@ #### Mapgen fractal -# Choice of 8 4-dimensional fractals. -# 1 = "Roundy" mandelbrot set. -# 2 = "Roundy" julia set. -# 3 = "Squarry" mandelbrot set. -# 4 = "Squarry" julia set. -# 5 = "Mandy Cousin" mandelbrot set. -# 6 = "Mandy Cousin" julia set. -# 7 = "Variation" mandelbrot set. -# 8 = "Variation" julia set. -# type: int min: 1 max: 8 -# mgfractal_formula = 1 +# Choice of 18 fractals from 9 formulas. +# 1 = 4D "Roundy" mandelbrot set. +# 2 = 4D "Roundy" julia set. +# 3 = 4D "Squarry" mandelbrot set. +# 4 = 4D "Squarry" julia set. +# 5 = 4D "Mandy Cousin" mandelbrot set. +# 6 = 4D "Mandy Cousin" julia set. +# 7 = 4D "Variation" mandelbrot set. +# 8 = 4D "Variation" julia set. +# 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set. +# 10 = 3D "Mandelbrot/Mandelbar" julia set. +# 11 = 3D "Christmas Tree" mandelbrot set. +# 12 = 3D "Christmas Tree" julia set. +# 13 = 3D "Mandelbulb" mandelbrot set. +# 14 = 3D "Mandelbulb" julia set. +# 15 = 3D "Cosine Mandelbulb" mandelbrot set. +# 16 = 3D "Cosine Mandelbulb" julia set. +# 17 = 4D "Mandelbulb" mandelbrot set. +# 18 = 4D "Mandelbulb" julia set. +# type: int min: 1 max: 18 +# mgfractal_fractal = 1 # Iterations of the recursive function. -# Controls scale of finest detail. +# Controls the amount of fine detail. # type: int # mgfractal_iterations = 11 @@ -1255,36 +1265,37 @@ # type: v3f # mgfractal_scale = (4096.0, 1024.0, 4096.0) -# (X,Y,Z) offset of fractal from world centre. +# (X,Y,Z) offset of fractal from world centre in units of 'scale'. # Used to move a suitable spawn area of low land close to (0, 0). -# The default is suitable for mandelbrot sets, it needs to be edited for julia sets, -# do this by greatly reducing 'scale' and setting 'offset' initially to (0, 0, 0). +# The default is suitable for mandelbrot sets, it needs to be edited for julia sets. # Range roughly -2 to 2. Multiply by 'scale' for offset in nodes. # type: v3f # mgfractal_offset = (1.79, 0.0, 0.0) -# W co-ordinate of the generated 3D slice of the 4D shape. -# Alters the generated 3D shape. +# W co-ordinate of the generated 3D slice of a 4D fractal. +# Determines which 3D slice of the 4D shape is generated. +# Has no effect on 3D fractals. # Range roughly -2 to 2. # type: float # mgfractal_slice_w = 0.0 -# Julia set only: X value determining the 4D shape. +# Julia set only: X component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. # type: float # mgfractal_julia_x = 0.33 -# Julia set only: Y value determining the 4D shape. +# Julia set only: Y component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. # type: float # mgfractal_julia_y = 0.33 -# Julia set only: Z value determining the 4D shape. +# Julia set only: Z component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. # type: float # mgfractal_julia_z = 0.33 -# Julia set only: W value determining the 4D shape. +# Julia set only: W component of hypercomplex constant determining julia shape. +# Has no effect on 3D fractals. # Range roughly -2 to 2. # type: float # mgfractal_julia_w = 0.33 diff --git a/src/mapgen_fractal.cpp b/src/mapgen_fractal.cpp index 14dfe5c85..6c03c4ca9 100644 --- a/src/mapgen_fractal.cpp +++ b/src/mapgen_fractal.cpp @@ -66,7 +66,7 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenParams *params, EmergeManager * MapgenFractalParams *sp = (MapgenFractalParams *)params->sparams; this->spflags = sp->spflags; - this->formula = sp->formula; + this->fractal = sp->fractal; this->iterations = sp->iterations; this->scale = sp->scale; this->offset = sp->offset; @@ -77,6 +77,9 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenParams *params, EmergeManager * this->julia_z = sp->julia_z; this->julia_w = sp->julia_w; + this->formula = fractal / 2 + fractal % 2; + this->julia = fractal % 2 == 0; + //// 2D terrain noise noise_seabed = new Noise(&sp->np_seabed, seed, csize.X, csize.Z); noise_filler_depth = new Noise(&sp->np_filler_depth, seed, csize.X, csize.Z); @@ -141,7 +144,7 @@ MapgenFractalParams::MapgenFractalParams() { spflags = 0; - formula = 1; + fractal = 1; iterations = 11; scale = v3f(4096.0, 1024.0, 4096.0); offset = v3f(1.79, 0.0, 0.0); @@ -163,7 +166,7 @@ void MapgenFractalParams::readParams(const Settings *settings) { settings->getFlagStrNoEx("mgfractal_spflags", spflags, flagdesc_mapgen_fractal); - settings->getU16NoEx("mgfractal_formula", formula); + settings->getU16NoEx("mgfractal_fractal", fractal); settings->getU16NoEx("mgfractal_iterations", iterations); settings->getV3FNoEx("mgfractal_scale", scale); settings->getV3FNoEx("mgfractal_offset", offset); @@ -185,7 +188,7 @@ void MapgenFractalParams::writeParams(Settings *settings) const { settings->setFlagStr("mgfractal_spflags", spflags, flagdesc_mapgen_fractal, U32_MAX); - settings->setU16("mgfractal_formula", formula); + settings->setU16("mgfractal_fractal", fractal); settings->setU16("mgfractal_iterations", iterations); settings->setV3F("mgfractal_scale", scale); settings->setV3F("mgfractal_offset", offset); @@ -368,7 +371,7 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z) { float cx, cy, cz, cw, ox, oy, oz, ow; - if (formula % 2 == 0) { // Julia sets, formula = 2, 4, 6, 8 + if (julia) { // Julia set cx = julia_x; cy = julia_y; cz = julia_z; @@ -377,7 +380,7 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z) oy = (float)y / scale.Y - offset.Y; oz = (float)z / scale.Z - offset.Z; ow = slice_w; - } else { // Mandelbrot sets, formula = 1, 3, 5, 7 + } else { // Mandelbrot set cx = (float)x / scale.X - offset.X; cy = (float)y / scale.Y - offset.Y; cz = (float)z / scale.Z - offset.Z; @@ -388,32 +391,87 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z) ow = 0.0f; } - for (u16 iter = 0; iter < iterations; iter++) { - float nx = 0.0f; - float ny = 0.0f; - float nz = 0.0f; - float nw = 0.0f; + float nx = 0.0f; + float ny = 0.0f; + float nz = 0.0f; + float nw = 0.0f; - if (formula == 1 || formula == 2) { // 4D "Roundy" Mandelbrot/Julia Set + for (u16 iter = 0; iter < iterations; iter++) { + + if (formula == 1) { // 4D "Roundy" nx = ox * ox - oy * oy - oz * oz - ow * ow + cx; ny = 2.0f * (ox * oy + oz * ow) + cy; nz = 2.0f * (ox * oz + oy * ow) + cz; nw = 2.0f * (ox * ow + oy * oz) + cw; - } else if (formula == 3 || formula == 4) { // 4D "Squarry" Mandelbrot/Julia Set + } else if (formula == 2) { // 4D "Squarry" nx = ox * ox - oy * oy - oz * oz - ow * ow + cx; ny = 2.0f * (ox * oy + oz * ow) + cy; nz = 2.0f * (ox * oz + oy * ow) + cz; nw = 2.0f * (ox * ow - oy * oz) + cw; - } else if (formula == 5 || formula == 6) { // 4D "Mandy Cousin" Mandelbrot/Julia Set + } else if (formula == 3) { // 4D "Mandy Cousin" nx = ox * ox - oy * oy - oz * oz + ow * ow + cx; ny = 2.0f * (ox * oy + oz * ow) + cy; nz = 2.0f * (ox * oz + oy * ow) + cz; nw = 2.0f * (ox * ow + oy * oz) + cw; - } else if (formula == 7 || formula == 8) { // 4D "Variation" Mandelbrot/Julia Set + } else if (formula == 4) { // 4D "Variation" nx = ox * ox - oy * oy - oz * oz - ow * ow + cx; ny = 2.0f * (ox * oy + oz * ow) + cy; nz = 2.0f * (ox * oz - oy * ow) + cz; nw = 2.0f * (ox * ow + oy * oz) + cw; + } else if (formula == 5) { // 3D "Mandelbrot/Mandelbar" + nx = ox * ox - oy * oy - oz * oz + cx; + ny = 2.0f * ox * oy + cy; + nz = -2.0f * ox * oz + cz; + } else if (formula == 6) { // 3D "Christmas Tree" + // Altering the formula here is necessary to avoid division by zero + if (fabs(oz) < 0.000000001f) { + nx = ox * ox - oy * oy - oz * oz + cx; + ny = 2.0f * oy * ox + cy; + nz = 4.0f * oz * ox + cz; + } else { + float a = (2.0f * ox) / (sqrt(oy * oy + oz * oz)); + nx = ox * ox - oy * oy - oz * oz + cx; + ny = a * (oy * oy - oz * oz) + cy; + nz = a * 2.0f * oy * oz + cz; + } + } else if (formula == 7) { // 3D "Mandelbulb" + if (fabs(oy) < 0.000000001f) { + nx = ox * ox - oz * oz + cx; + ny = cy; + nz = -2.0f * oz * sqrt(ox * ox) + cz; + } else { + float a = 1.0f - (oz * oz) / (ox * ox + oy * oy); + nx = (ox * ox - oy * oy) * a + cx; + ny = 2.0f * ox * oy * a + cy; + nz = -2.0f * oz * sqrt(ox * ox + oy * oy) + cz; + } + } else if (formula == 8) { // 3D "Cosine Mandelbulb" + if (fabs(oy) < 0.000000001f) { + nx = 2.0f * ox * oz + cx; + ny = 4.0f * oy * oz + cy; + nz = oz * oz - ox * ox - oy * oy + cz; + } else { + float a = (2.0f * oz) / sqrt(ox * ox + oy * oy); + nx = (ox * ox - oy * oy) * a + cx; + ny = 2.0f * ox * oy * a + cy; + nz = oz * oz - ox * ox - oy * oy + cz; + } + } else if (formula == 9) { // 4D "Mandelbulb" + float rxy = sqrt(ox * ox + oy * oy); + float rxyz = sqrt(ox * ox + oy * oy + oz * oz); + if (fabs(ow) < 0.000000001f && fabs(oz) < 0.000000001f) { + nx = (ox * ox - oy * oy) + cx; + ny = 2.0f * ox * oy + cy; + nz = -2.0f * rxy * oz + cz; + nw = 2.0f * rxyz * ow + cw; + } else { + float a = 1.0f - (ow * ow) / (rxyz * rxyz); + float b = a * (1.0f - (oz * oz) / (rxy * rxy)); + nx = (ox * ox - oy * oy) * b + cx; + ny = 2.0f * ox * oy * b + cy; + nz = -2.0f * rxy * oz * a + cz; + nw = 2.0f * rxyz * ow + cw; + } } if (nx * nx + ny * ny + nz * nz + nw * nw > 4.0f) diff --git a/src/mapgen_fractal.h b/src/mapgen_fractal.h index 7d31a43b8..3d4f7ee8f 100644 --- a/src/mapgen_fractal.h +++ b/src/mapgen_fractal.h @@ -3,6 +3,9 @@ Minetest Copyright (C) 2010-2015 kwolekr, Ryan Kwolek Copyright (C) 2010-2015 paramat, Matt Gregory +Fractal formulas from http://www.bugman123.com/Hypercomplex/index.html +by Paul Nylander, and from http://www.fractalforums.com, thank you. + 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 @@ -33,7 +36,7 @@ extern FlagDesc flagdesc_mapgen_fractal[]; struct MapgenFractalParams : public MapgenSpecificParams { u32 spflags; - u16 formula; + u16 fractal; u16 iterations; v3f scale; v3f offset; @@ -63,14 +66,17 @@ public: int ystride; int zstride; - u32 spflags; + u16 formula; + bool julia; v3s16 node_min; v3s16 node_max; v3s16 full_node_min; v3s16 full_node_max; - u16 formula; + u32 spflags; + + u16 fractal; u16 iterations; v3f scale; v3f offset; From 19f73e4efc14622b4d020c9d373176cd7801e37f Mon Sep 17 00:00:00 2001 From: asl97 Date: Wed, 2 Dec 2015 10:45:57 +0800 Subject: [PATCH 22/52] Get movement setting instead of hard coded value --- src/player.cpp | 17 +++++++++++++++++ src/player.h | 5 +---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/player.cpp b/src/player.cpp index 3ee34d41f..dd5e04509 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -261,6 +261,23 @@ void Player::clearHud() } } +RemotePlayer::RemotePlayer(IGameDef *gamedef, const char *name): + Player(gamedef, name), + m_sao(NULL) +{ + movement_acceleration_default = g_settings->getFloat("movement_acceleration_default") * BS; + movement_acceleration_air = g_settings->getFloat("movement_acceleration_air") * BS; + movement_acceleration_fast = g_settings->getFloat("movement_acceleration_fast") * BS; + movement_speed_walk = g_settings->getFloat("movement_speed_walk") * BS; + movement_speed_crouch = g_settings->getFloat("movement_speed_crouch") * BS; + movement_speed_fast = g_settings->getFloat("movement_speed_fast") * BS; + movement_speed_climb = g_settings->getFloat("movement_speed_climb") * BS; + movement_speed_jump = g_settings->getFloat("movement_speed_jump") * BS; + movement_liquid_fluidity = g_settings->getFloat("movement_liquid_fluidity") * BS; + movement_liquid_fluidity_smooth = g_settings->getFloat("movement_liquid_fluidity_smooth") * BS; + movement_liquid_sink = g_settings->getFloat("movement_liquid_sink") * BS; + movement_gravity = g_settings->getFloat("movement_gravity") * BS; +} void RemotePlayer::save(std::string savedir) { diff --git a/src/player.h b/src/player.h index c11261876..48b0a4999 100644 --- a/src/player.h +++ b/src/player.h @@ -424,10 +424,7 @@ private: class RemotePlayer : public Player { public: - RemotePlayer(IGameDef *gamedef, const char *name): - Player(gamedef, name), - m_sao(NULL) - {} + RemotePlayer(IGameDef *gamedef, const char *name); virtual ~RemotePlayer() {} void save(std::string savedir); From 9eee3c3f465c071bb9908749cf48be3c131a1bdf Mon Sep 17 00:00:00 2001 From: BlockMen Date: Fri, 20 Nov 2015 23:46:33 +0100 Subject: [PATCH 23/52] Add option to give every object a nametag or change the nametag text of players --- doc/lua_api.txt | 26 +++++---- src/content_cao.cpp | 22 ++++---- src/content_cao.h | 1 - src/content_sao.cpp | 24 +-------- src/content_sao.h | 11 ++-- src/object_properties.cpp | 11 +++- src/object_properties.h | 2 + src/script/common/c_content.cpp | 13 +++++ src/script/lua_api/l_object.cpp | 96 +++++++++++++++++++-------------- 9 files changed, 111 insertions(+), 95 deletions(-) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 56dc84d24..45a47c9ab 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -2544,6 +2544,19 @@ This is basically a reference to a C++ `ServerActiveObject` * `set_properties(object property table)` * `get_properties()`: returns object property table * `is_player()`: returns true for players, false otherwise +* `get_nametag_attributes()` + * returns a table with the attributes of the nametag of an object + * { + color = {a=0..255, r=0..255, g=0..255, b=0..255}, + text = "", + } +* `set_nametag_attributes(attributes)` + * sets the attributes of the nametag of an object + * `attributes`: + { + color = ColorSpec, + text = "My Nametag", + } ##### LuaEntitySAO-only (no-op for other objects) * `setvelocity({x=num, y=num, z=num})` @@ -2644,17 +2657,6 @@ This is basically a reference to a C++ `ServerActiveObject` * in first person view * in third person view (max. values `{x=-10/10,y=-10,15,z=-5/5}`) * `get_eye_offset()`: returns offset_first and offset_third -* `get_nametag_attributes()` - * returns a table with the attributes of the nametag of the player - * { - color = {a=0..255, r=0..255, g=0..255, b=0..255}, - } -* `set_nametag_attributes(attributes)` - * sets the attributes of the nametag of the player - * `attributes`: - { - color = ColorSpec, - } ### `InvRef` An `InvRef` is a reference to an inventory. @@ -3232,6 +3234,8 @@ Definition tables automatic_face_movement_dir = 0.0, -- ^ automatically set yaw to movement direction; offset in degrees; false to disable backface_culling = true, -- false to disable backface_culling for model + nametag = "", -- by default empty, for players their name is shown if empty + nametag_color = , -- sets color of nametag as ColorSpec } ### Entity definition (`register_entity`) diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 72f6145b0..ed4e3b713 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -551,7 +551,6 @@ GenericCAO::GenericCAO(IGameDef *gamedef, ClientEnvironment *env): m_animated_meshnode(NULL), m_wield_meshnode(NULL), m_spritenode(NULL), - m_nametag_color(video::SColor(255, 255, 255, 255)), m_textnode(NULL), m_position(v3f(0,10*BS,0)), m_velocity(v3f(0,0,0)), @@ -972,19 +971,19 @@ void GenericCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc, updateTextures(""); scene::ISceneNode *node = getSceneNode(); - if (node && m_is_player && !m_is_local_player) { + if (node && m_prop.nametag != "" && !m_is_local_player) { // Add a text node for showing the name gui::IGUIEnvironment* gui = irr->getGUIEnvironment(); - std::wstring wname = utf8_to_wide(m_name); + std::wstring nametag_text = utf8_to_wide(m_prop.nametag); m_textnode = smgr->addTextSceneNode(gui->getSkin()->getFont(), - wname.c_str(), m_nametag_color, node); + nametag_text.c_str(), m_prop.nametag_color, node); m_textnode->grab(); m_textnode->setPosition(v3f(0, BS*1.1, 0)); // Enforce hiding nametag, // because if freetype is enabled, a grey // shadow can remain. - m_textnode->setVisible(m_nametag_color.getAlpha() > 0); + m_textnode->setVisible(m_prop.nametag_color.getAlpha() > 0); } updateNodePos(); @@ -1594,6 +1593,9 @@ void GenericCAO::processMessage(const std::string &data) m_tx_basepos = m_prop.initial_sprite_basepos; } + if ((m_is_player && !m_is_local_player) && m_prop.nametag == "") + m_prop.nametag = m_name; + expireVisuals(); } else if(cmd == GENERIC_CMD_UPDATE_POSITION) @@ -1772,15 +1774,15 @@ void GenericCAO::processMessage(const std::string &data) m_armor_groups[name] = rating; } } else if (cmd == GENERIC_CMD_UPDATE_NAMETAG_ATTRIBUTES) { + // Deprecated, for backwards compatibility only. readU8(is); // version - m_nametag_color = readARGB8(is); + m_prop.nametag_color = readARGB8(is); if (m_textnode != NULL) { - m_textnode->setTextColor(m_nametag_color); + m_textnode->setTextColor(m_prop.nametag_color); // Enforce hiding nametag, - // because if freetype is enabled, a grey - // shadow can remain. - m_textnode->setVisible(m_nametag_color.getAlpha() > 0); + // because if freetype is enabled, a grey shadow can remain. + m_textnode->setVisible(m_prop.nametag_color.getAlpha() > 0); } } } diff --git a/src/content_cao.h b/src/content_cao.h index 299d6c73e..d9145c5f1 100644 --- a/src/content_cao.h +++ b/src/content_cao.h @@ -70,7 +70,6 @@ private: scene::IAnimatedMeshSceneNode *m_animated_meshnode; WieldMeshSceneNode *m_wield_meshnode; scene::IBillboardSceneNode *m_spritenode; - video::SColor m_nametag_color; scene::ITextSceneNode* m_textnode; v3f m_position; v3f m_velocity; diff --git a/src/content_sao.cpp b/src/content_sao.cpp index 0fa806c1a..0a1cfe770 100644 --- a/src/content_sao.cpp +++ b/src/content_sao.cpp @@ -757,8 +757,6 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_, m_bone_position_sent(false), m_attachment_parent_id(0), m_attachment_sent(false), - m_nametag_color(video::SColor(255, 255, 255, 255)), - m_nametag_sent(false), // public m_physics_override_speed(1), m_physics_override_jump(1), @@ -857,7 +855,7 @@ std::string PlayerSAO::getClientInitializationData(u16 protocol_version) os< getAttachmentChildIds(); ObjectProperties* accessObjectProperties(); void notifyObjectPropertiesModified(); - void setNametagColor(video::SColor color); - video::SColor getNametagColor(); /* Inventory interface @@ -292,7 +290,7 @@ public: private: std::string getPropertyPacket(); - + Player *m_player; u16 m_peer_id; Inventory *m_inventory; @@ -333,8 +331,6 @@ private: v3f m_attachment_rotation; bool m_attachment_sent; - video::SColor m_nametag_color; - bool m_nametag_sent; public: float m_physics_override_speed; @@ -346,4 +342,3 @@ public: }; #endif - diff --git a/src/object_properties.cpp b/src/object_properties.cpp index dc1eddf4e..3cec51672 100644 --- a/src/object_properties.cpp +++ b/src/object_properties.cpp @@ -43,7 +43,9 @@ ObjectProperties::ObjectProperties(): stepheight(0), automatic_face_movement_dir(false), automatic_face_movement_dir_offset(0.0), - backface_culling(true) + backface_culling(true), + nametag(""), + nametag_color(255, 255, 255, 255) { textures.push_back("unknown_object.png"); colors.push_back(video::SColor(255,255,255,255)); @@ -76,6 +78,9 @@ std::string ObjectProperties::dump() os<<", makes_footstep_sound="<backface_culling); + getstringfield(L, -1, "nametag", prop->nametag); + lua_getfield(L, -1, "nametag_color"); + if (!lua_isnil(L, -1)) { + video::SColor color = prop->nametag_color; + if (read_color(L, -1, &color)) + prop->nametag_color = color; + } + lua_pop(L, 1); } /******************************************************************************/ @@ -261,6 +269,11 @@ void push_object_properties(lua_State *L, ObjectProperties *prop) lua_setfield(L, -2, "automatic_face_movement_dir"); lua_pushboolean(L, prop->backface_culling); lua_setfield(L, -2, "backface_culling"); + lua_pushlstring(L, prop->nametag.c_str(), prop->nametag.size()); + lua_setfield(L, -2, "nametag"); + lua_newtable(L); + push_ARGB8(L, prop->nametag_color); + lua_setfield(L, -2, "nametag_color"); } /******************************************************************************/ diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 52190d60e..6d6614e7d 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -767,6 +767,59 @@ int ObjectRef::l_is_player(lua_State *L) return 1; } +// set_nametag_attributes(self, attributes) +int ObjectRef::l_set_nametag_attributes(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + ObjectRef *ref = checkobject(L, 1); + ServerActiveObject *co = getobject(ref); + + if (co == NULL) + return 0; + ObjectProperties *prop = co->accessObjectProperties(); + if (!prop) + return 0; + + lua_getfield(L, 2, "color"); + if (!lua_isnil(L, -1)) { + video::SColor color = prop->nametag_color; + read_color(L, -1, &color); + prop->nametag_color = color; + } + lua_pop(L, 1); + + std::string nametag = getstringfield_default(L, 2, "text", ""); + if (nametag != "") + prop->nametag = nametag; + + co->notifyObjectPropertiesModified(); + lua_pushboolean(L, true); + return 1; +} + +// get_nametag_attributes(self) +int ObjectRef::l_get_nametag_attributes(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + ObjectRef *ref = checkobject(L, 1); + ServerActiveObject *co = getobject(ref); + + if (co == NULL) + return 0; + ObjectProperties *prop = co->accessObjectProperties(); + if (!prop) + return 0; + + video::SColor color = prop->nametag_color; + + lua_newtable(L); + push_ARGB8(L, color); + lua_setfield(L, -2, "color"); + lua_pushstring(L, prop->nametag.c_str()); + lua_setfield(L, -2, "text"); + return 1; +} + /* LuaEntitySAO-only */ // setvelocity(self, {x=num, y=num, z=num}) @@ -1593,45 +1646,6 @@ int ObjectRef::l_get_day_night_ratio(lua_State *L) return 1; } -// set_nametag_attributes(self, attributes) -int ObjectRef::l_set_nametag_attributes(lua_State *L) -{ - NO_MAP_LOCK_REQUIRED; - ObjectRef *ref = checkobject(L, 1); - PlayerSAO *playersao = getplayersao(ref); - if (playersao == NULL) - return 0; - - lua_getfield(L, 2, "color"); - if (!lua_isnil(L, -1)) { - video::SColor color = playersao->getNametagColor(); - if (!read_color(L, -1, &color)) - return 0; - playersao->setNametagColor(color); - } - - lua_pushboolean(L, true); - return 1; -} - -// get_nametag_attributes(self) -int ObjectRef::l_get_nametag_attributes(lua_State *L) -{ - NO_MAP_LOCK_REQUIRED; - ObjectRef *ref = checkobject(L, 1); - PlayerSAO *playersao = getplayersao(ref); - if (playersao == NULL) - return 0; - - video::SColor color = playersao->getNametagColor(); - - lua_newtable(L); - push_ARGB8(L, color); - lua_setfield(L, -2, "color"); - - return 1; -} - ObjectRef::ObjectRef(ServerActiveObject *object): m_object(object) { @@ -1719,6 +1733,8 @@ const luaL_reg ObjectRef::methods[] = { luamethod(ObjectRef, set_detach), luamethod(ObjectRef, set_properties), luamethod(ObjectRef, get_properties), + luamethod(ObjectRef, set_nametag_attributes), + luamethod(ObjectRef, get_nametag_attributes), // LuaEntitySAO-only luamethod(ObjectRef, setvelocity), luamethod(ObjectRef, getvelocity), @@ -1768,7 +1784,5 @@ const luaL_reg ObjectRef::methods[] = { luamethod(ObjectRef, get_local_animation), luamethod(ObjectRef, set_eye_offset), luamethod(ObjectRef, get_eye_offset), - luamethod(ObjectRef, set_nametag_attributes), - luamethod(ObjectRef, get_nametag_attributes), {0,0} }; From 6a7e1667f6e696f152191d9fdd74947ceefcfd3a Mon Sep 17 00:00:00 2001 From: Sapier Date: Thu, 17 Dec 2015 20:43:25 +0100 Subject: [PATCH 24/52] Android: Fix pressed buttons not beeing cleared on opening menu --- src/game.cpp | 17 ++++--- src/touchscreengui.cpp | 111 ++++++++++++++++++++++++----------------- src/touchscreengui.h | 3 ++ 3 files changed, 78 insertions(+), 53 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index 5e4f4cacf..f6d59e4e3 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2569,7 +2569,17 @@ void Game::processUserInput(VolatileRunFlags *flags, || noMenuActive() == false || guienv->hasFocus(gui_chat_console)) { input->clear(); +#ifdef HAVE_TOUCHSCREENGUI + g_touchscreengui->Hide(); +#endif } +#ifdef HAVE_TOUCHSCREENGUI + else if (g_touchscreengui) { + /* on touchscreengui step may generate own input events which ain't + * what we want in case we just did clear them */ + g_touchscreengui->step(dtime); + } +#endif if (!guienv->hasFocus(gui_chat_console) && gui_chat_console->isOpen()) { gui_chat_console->closeConsoleAtOnce(); @@ -2578,13 +2588,6 @@ void Game::processUserInput(VolatileRunFlags *flags, // Input handler step() (used by the random input generator) input->step(dtime); -#ifdef HAVE_TOUCHSCREENGUI - - if (g_touchscreengui) { - g_touchscreengui->step(dtime); - } - -#endif #ifdef __ANDROID__ if (current_formspec != 0) diff --git a/src/touchscreengui.cpp b/src/touchscreengui.cpp index e4f785f60..f0ad002d6 100644 --- a/src/touchscreengui.cpp +++ b/src/touchscreengui.cpp @@ -417,6 +417,57 @@ void TouchScreenGUI::ButtonEvent(touch_gui_button_id button, delete translated; } + +void TouchScreenGUI::handleReleaseEvent(int evt_id) +{ + touch_gui_button_id button = getButtonID(evt_id); + + /* handle button events */ + if (button != after_last_element_id) { + ButtonEvent(button, evt_id, false); + } + /* handle hud button events */ + else if (isReleaseHUDButton(evt_id)) { + /* nothing to do here */ + } + /* handle the point used for moving view */ + else if (evt_id == m_move_id) { + m_move_id = -1; + + /* if this pointer issued a mouse event issue symmetric release here */ + if (m_move_sent_as_mouse_event) { + SEvent* translated = new SEvent; + memset(translated,0,sizeof(SEvent)); + translated->EventType = EET_MOUSE_INPUT_EVENT; + translated->MouseInput.X = m_move_downlocation.X; + translated->MouseInput.Y = m_move_downlocation.Y; + translated->MouseInput.Shift = false; + translated->MouseInput.Control = false; + translated->MouseInput.ButtonStates = 0; + translated->MouseInput.Event = EMIE_LMOUSE_LEFT_UP; + m_receiver->OnEvent(*translated); + delete translated; + } + else { + /* do double tap detection */ + doubleTapDetection(); + } + } + else { + infostream + << "TouchScreenGUI::translateEvent released unknown button: " + << evt_id << std::endl; + } + + for (std::vector::iterator iter = m_known_ids.begin(); + iter != m_known_ids.end(); ++iter) { + if (iter->id == evt_id) { + m_known_ids.erase(iter); + break; + } + } +} + void TouchScreenGUI::translateEvent(const SEvent &event) { if (!m_visible) { @@ -470,52 +521,7 @@ void TouchScreenGUI::translateEvent(const SEvent &event) else if (event.TouchInput.Event == ETIE_LEFT_UP) { verbosestream << "Up event for pointerid: " << event.TouchInput.ID << std::endl; - touch_gui_button_id button = getButtonID(event.TouchInput.ID); - - /* handle button events */ - if (button != after_last_element_id) { - ButtonEvent(button,event.TouchInput.ID,false); - } - /* handle hud button events */ - else if (isReleaseHUDButton(event.TouchInput.ID)) { - /* nothing to do here */ - } - /* handle the point used for moving view */ - else if (event.TouchInput.ID == m_move_id) { - m_move_id = -1; - - /* if this pointer issued a mouse event issue symmetric release here */ - if (m_move_sent_as_mouse_event) { - SEvent* translated = new SEvent; - memset(translated,0,sizeof(SEvent)); - translated->EventType = EET_MOUSE_INPUT_EVENT; - translated->MouseInput.X = m_move_downlocation.X; - translated->MouseInput.Y = m_move_downlocation.Y; - translated->MouseInput.Shift = false; - translated->MouseInput.Control = false; - translated->MouseInput.ButtonStates = 0; - translated->MouseInput.Event = EMIE_LMOUSE_LEFT_UP; - m_receiver->OnEvent(*translated); - delete translated; - } - else { - /* do double tap detection */ - doubleTapDetection(); - } - } - else { - infostream - << "TouchScreenGUI::translateEvent released unknown button: " - << event.TouchInput.ID << std::endl; - } - - for (std::vector::iterator iter = m_known_ids.begin(); - iter != m_known_ids.end(); ++iter) { - if (iter->id == event.TouchInput.ID) { - m_known_ids.erase(iter); - break; - } - } + handleReleaseEvent(event.TouchInput.ID); } else { assert(event.TouchInput.Event == ETIE_MOVED); @@ -765,14 +771,27 @@ void TouchScreenGUI::Toggle(bool visible) btn->guibutton->setVisible(visible); } } + + /* clear all active buttons */ + if (!visible) { + while (m_known_ids.size() > 0) { + handleReleaseEvent(m_known_ids.begin()->id); + } + } } void TouchScreenGUI::Hide() { + if (!m_visible) + return; + Toggle(false); } void TouchScreenGUI::Show() { + if (m_visible) + return; + Toggle(true); } diff --git a/src/touchscreengui.h b/src/touchscreengui.h index bb3231793..1e69a41e9 100644 --- a/src/touchscreengui.h +++ b/src/touchscreengui.h @@ -153,6 +153,9 @@ private: /* handle double taps */ bool doubleTapDetection(); + /* handle release event */ + void handleReleaseEvent(int evt_id); + /* doubleclick detection variables */ struct key_event { unsigned int down_time; From a3fd167ddab4fa02d8d84554c3339459ac65cf81 Mon Sep 17 00:00:00 2001 From: Sapier Date: Tue, 15 Dec 2015 21:41:03 +0100 Subject: [PATCH 25/52] Android: Remove non freetype fonts from apk --- build/android/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/android/Makefile b/build/android/Makefile index 9f1076027..441c8bda9 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -753,7 +753,8 @@ assets : $(ASSETS_TIMESTAMP) cp -r ${ROOT}/../../builtin ${ROOT}/assets/Minetest; \ cp -r ${ROOT}/../../client ${ROOT}/assets/Minetest; \ cp -r ${ROOT}/../../doc ${ROOT}/assets/Minetest; \ - cp -r ${ROOT}/../../fonts ${ROOT}/assets/Minetest; \ + mkdir ${ROOT}/assets/Minetest/fonts; \ + cp -r ${ROOT}/../../fonts/*.ttf ${ROOT}/assets/Minetest/fonts/; \ mkdir ${ROOT}/assets/Minetest/games; \ for game in ${GAMES_TO_COPY}; do \ cp -r ${ROOT}/../../games/$$game ${ROOT}/assets/Minetest/games/; \ From dcb91cf0c0c9a20622feeb4e5e8104ffbc9fa8ec Mon Sep 17 00:00:00 2001 From: Sapier Date: Wed, 16 Dec 2015 00:59:44 +0100 Subject: [PATCH 26/52] Android: Don't put html docs to apk --- build/android/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/build/android/Makefile b/build/android/Makefile index 441c8bda9..0a817c97f 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -753,6 +753,7 @@ assets : $(ASSETS_TIMESTAMP) cp -r ${ROOT}/../../builtin ${ROOT}/assets/Minetest; \ cp -r ${ROOT}/../../client ${ROOT}/assets/Minetest; \ cp -r ${ROOT}/../../doc ${ROOT}/assets/Minetest; \ + rm -rf ${ROOT}/assets/Minetest/doc/html; \ mkdir ${ROOT}/assets/Minetest/fonts; \ cp -r ${ROOT}/../../fonts/*.ttf ${ROOT}/assets/Minetest/fonts/; \ mkdir ${ROOT}/assets/Minetest/games; \ From bde6194638e8856c4df28d80ae6e15d2e9e31e91 Mon Sep 17 00:00:00 2001 From: Sapier Date: Thu, 17 Dec 2015 20:51:54 +0100 Subject: [PATCH 27/52] Android: Remove unused build target curl_binary --- build/android/Makefile | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/build/android/Makefile b/build/android/Makefile index 0a817c97f..dd6c89ad9 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -168,7 +168,7 @@ endif $(ASSETS_TIMESTAMP) $(LEVELDB_TIMESTAMP) \ $(OPENAL_TIMESTAMP) $(OGG_TIMESTAMP) \ $(IRRLICHT_TIMESTAMP) $(CURL_TIMESTAMP) \ - $(OPENSSL_TIMESTAMP) curl_binary \ + $(OPENSSL_TIMESTAMP) \ $(ROOT)/jni/src/android_version.h \ $(ROOT)/jni/src/android_version_githash.h @@ -625,18 +625,6 @@ clean_curl : $(RM) -rf deps/curl-${CURL_VERSION} \ $(RM) -f deps/curl - -curl_binary: - @if [ ! -d "deps/curl-${CURL_VERSION_BINARY}" ] ; then \ - echo "curl binary missing, downloading..."; \ - mkdir -p ${ROOT}/deps; \ - cd deps; \ - wget http://curl.haxx.se/gknw.net/7.34.0/dist-android/curl-7.34.0-rtmp-ssh2-ssl-zlib-static-bin-android.tar.gz || exit 1;\ - tar -xzf curl-7.34.0-rtmp-ssh2-ssl-zlib-static-bin-android.tar.gz || exit 1;\ - mv curl-7.34.0-rtmp-ssh2-ssl-zlib-static-bin-android curl-${CURL_VERSION_BINARY};\ - rm curl-7.34.0-rtmp-ssh2-ssl-zlib-static-bin-android.tar.gz; \ - fi - $(GMP_TIMESTAMP) : gmp_download @LAST_MODIF=$$(find ${GMP_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "); \ if [ $$(basename $$LAST_MODIF) != "timestamp" ] ; then \ From 06632205d8765b5417c36df798617721bab0d02f Mon Sep 17 00:00:00 2001 From: Sapier Date: Sun, 13 Dec 2015 23:00:05 +0100 Subject: [PATCH 28/52] Android: Implement Autohiding button bars to cleanup screen --- src/game.cpp | 4 +- src/modalMenu.h | 2 +- src/touchscreengui.cpp | 510 +++++++++++++++++++++------ src/touchscreengui.h | 113 +++++- textures/base/pack/drop_btn.png | Bin 539 -> 1035 bytes textures/base/pack/gear_icon.png | Bin 0 -> 1005 bytes textures/base/pack/rare_controls.png | Bin 0 -> 349 bytes 7 files changed, 500 insertions(+), 129 deletions(-) create mode 100644 textures/base/pack/gear_icon.png create mode 100644 textures/base/pack/rare_controls.png diff --git a/src/game.cpp b/src/game.cpp index f6d59e4e3..3f025f6de 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2173,7 +2173,7 @@ bool Game::initGui() #ifdef HAVE_TOUCHSCREENGUI if (g_touchscreengui) - g_touchscreengui->init(texture_src, porting::getDisplayDensity()); + g_touchscreengui->init(texture_src); #endif @@ -2570,7 +2570,7 @@ void Game::processUserInput(VolatileRunFlags *flags, || guienv->hasFocus(gui_chat_console)) { input->clear(); #ifdef HAVE_TOUCHSCREENGUI - g_touchscreengui->Hide(); + g_touchscreengui->hide(); #endif } #ifdef HAVE_TOUCHSCREENGUI diff --git a/src/modalMenu.h b/src/modalMenu.h index 72ecedcb9..d5e975a87 100644 --- a/src/modalMenu.h +++ b/src/modalMenu.h @@ -108,7 +108,7 @@ public: this->remove(); #ifdef HAVE_TOUCHSCREENGUI if (g_touchscreengui) - g_touchscreengui->Show(); + g_touchscreengui->show(); #endif } diff --git a/src/touchscreengui.cpp b/src/touchscreengui.cpp index f0ad002d6..f51b2d5fa 100644 --- a/src/touchscreengui.cpp +++ b/src/touchscreengui.cpp @@ -44,17 +44,8 @@ const char** touchgui_button_imagenames = (const char*[]) { "down_arrow.png", "left_arrow.png", "right_arrow.png", - "inventory_btn.png", - "drop_btn.png", "jump_btn.png", - "down.png", - "fly_btn.png", - "noclip_btn.png", - "fast_btn.png", - "debug_btn.png", - "chat_btn.png", - "camera_btn.png", - "rangeview_btn.png" + "down.png" }; static irr::EKEY_CODE id2keycode(touch_gui_button_id id) @@ -113,29 +104,13 @@ static irr::EKEY_CODE id2keycode(touch_gui_button_id id) TouchScreenGUI *g_touchscreengui; -TouchScreenGUI::TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver): - m_device(device), - m_guienv(device->getGUIEnvironment()), - m_camera_yaw(0.0), - m_camera_pitch(0.0), - m_visible(false), - m_move_id(-1), - m_receiver(receiver) -{ - for (unsigned int i=0; i < after_last_element_id; i++) { - m_buttons[i].guibutton = 0; - m_buttons[i].repeatcounter = -1; - m_buttons[i].repeatdelay = BUTTON_REPEAT_DELAY; - } - - m_screensize = m_device->getVideoDriver()->getScreenSize(); -} - -void TouchScreenGUI::loadButtonTexture(button_info* btn, const char* path, rect button_rect) +static void load_button_texture(button_info* btn, const char* path, + rect button_rect, ISimpleTextureSource* tsrc, video::IVideoDriver *driver) { unsigned int tid; - video::ITexture *texture = guiScalingImageButton(m_device->getVideoDriver(), - m_texturesource->getTexture(path, &tid), button_rect.getWidth(), button_rect.getHeight()); + video::ITexture *texture = guiScalingImageButton(driver, + tsrc->getTexture(path, &tid), button_rect.getWidth(), + button_rect.getHeight()); if (texture) { btn->guibutton->setUseAlphaChannel(true); if (g_settings->getBool("gui_scaling_filter")) { @@ -153,6 +128,314 @@ void TouchScreenGUI::loadButtonTexture(button_info* btn, const char* path, rect< } } +AutoHideButtonBar::AutoHideButtonBar(IrrlichtDevice *device, + IEventReceiver* receiver) : + m_texturesource(NULL), + m_driver(device->getVideoDriver()), + m_guienv(device->getGUIEnvironment()), + m_receiver(receiver), + m_active(false), + m_visible(true), + m_timeout(0), + m_timeout_value(3), + m_initialized(false), + m_dir(AHBB_Dir_Right_Left) +{ + m_screensize = device->getVideoDriver()->getScreenSize(); + +} + +void AutoHideButtonBar::init(ISimpleTextureSource* tsrc, + const char* starter_img, int button_id, v2s32 UpperLeft, + v2s32 LowerRight, autohide_button_bar_dir dir, float timeout) +{ + m_texturesource = tsrc; + + m_upper_left = UpperLeft; + m_lower_right = LowerRight; + + /* init settings bar */ + + irr::core::rect current_button = rect(UpperLeft.X, UpperLeft.Y, + LowerRight.X, LowerRight.Y); + + m_starter.guibutton = m_guienv->addButton(current_button, 0, button_id, L"", 0); + m_starter.guibutton->grab(); + m_starter.repeatcounter = -1; + m_starter.keycode = KEY_OEM_8; // use invalid keycode as it's not relevant + m_starter.immediate_release = true; + m_starter.ids.clear(); + + load_button_texture(&m_starter, starter_img, current_button, + m_texturesource, m_driver); + + m_dir = dir; + m_timeout_value = timeout; + + m_initialized = true; +} + +AutoHideButtonBar::~AutoHideButtonBar() +{ + m_starter.guibutton->setVisible(false); + m_starter.guibutton->drop(); +} + +void AutoHideButtonBar::addButton(touch_gui_button_id button_id, + const wchar_t* caption, const char* btn_image) +{ + + if (!m_initialized) { + errorstream << "AutoHideButtonBar::addButton not yet initialized!" + << std::endl; + return; + } + int button_size = 0; + + if ((m_dir == AHBB_Dir_Top_Bottom) || (m_dir == AHBB_Dir_Bottom_Top)) { + button_size = m_lower_right.X - m_upper_left.X; + } else { + button_size = m_lower_right.Y - m_upper_left.Y; + } + + irr::core::rect current_button; + + if ((m_dir == AHBB_Dir_Right_Left) || (m_dir == AHBB_Dir_Left_Right)) { + + int x_start = 0; + int x_end = 0; + + if (m_dir == AHBB_Dir_Left_Right) { + x_start = m_lower_right.X + (button_size * 1.25 * m_buttons.size()) + + (button_size * 0.25); + x_end = x_start + button_size; + } else { + x_end = m_upper_left.X - (button_size * 1.25 * m_buttons.size()) + - (button_size * 0.25); + x_start = x_end - button_size; + } + + current_button = rect(x_start, m_upper_left.Y, x_end, + m_lower_right.Y); + } else { + int y_start = 0; + int y_end = 0; + + if (m_dir == AHBB_Dir_Top_Bottom) { + y_start = m_lower_right.X + (button_size * 1.25 * m_buttons.size()) + + (button_size * 0.25); + y_end = y_start + button_size; + } else { + y_end = m_upper_left.X - (button_size * 1.25 * m_buttons.size()) + - (button_size * 0.25); + y_start = y_end - button_size; + } + + current_button = rect(m_upper_left.X, y_start, m_lower_right.Y, + y_end); + } + + button_info* btn = new button_info(); + btn->guibutton = m_guienv->addButton(current_button, 0, button_id, caption, 0); + btn->guibutton->grab(); + btn->guibutton->setVisible(false); + btn->guibutton->setEnabled(false); + btn->repeatcounter = -1; + btn->keycode = id2keycode(button_id); + btn->immediate_release = true; + btn->ids.clear(); + + load_button_texture(btn, btn_image, current_button, m_texturesource, + m_driver); + + m_buttons.push_back(btn); +} + +bool AutoHideButtonBar::isButton(const SEvent &event) +{ + IGUIElement* rootguielement = m_guienv->getRootGUIElement(); + + if (rootguielement == NULL) { + return false; + } + + gui::IGUIElement *element = rootguielement->getElementFromPoint( + core::position2d(event.TouchInput.X, event.TouchInput.Y)); + + if (element == NULL) { + return false; + } + + if (m_active) { + /* check for all buttons in vector */ + + std::vector::iterator iter = m_buttons.begin(); + + while (iter != m_buttons.end()) { + if ((*iter)->guibutton == element) { + + SEvent* translated = new SEvent(); + memset(translated, 0, sizeof(SEvent)); + translated->EventType = irr::EET_KEY_INPUT_EVENT; + translated->KeyInput.Key = (*iter)->keycode; + translated->KeyInput.Control = false; + translated->KeyInput.Shift = false; + translated->KeyInput.Char = 0; + + /* add this event */ + translated->KeyInput.PressedDown = true; + m_receiver->OnEvent(*translated); + + /* remove this event */ + translated->KeyInput.PressedDown = false; + m_receiver->OnEvent(*translated); + + delete translated; + + (*iter)->ids.push_back(event.TouchInput.ID); + + m_timeout = 0; + + return true; + } + ++iter; + } + } else { + /* check for starter button only */ + if (element == m_starter.guibutton) { + m_starter.ids.push_back(event.TouchInput.ID); + m_starter.guibutton->setVisible(false); + m_starter.guibutton->setEnabled(false); + m_active = true; + m_timeout = 0; + + std::vector::iterator iter = m_buttons.begin(); + + while (iter != m_buttons.end()) { + (*iter)->guibutton->setVisible(true); + (*iter)->guibutton->setEnabled(true); + ++iter; + } + + return true; + } + } + return false; +} + +bool AutoHideButtonBar::isReleaseButton(int eventID) +{ + std::vector::iterator id = std::find(m_starter.ids.begin(), + m_starter.ids.end(), eventID); + + if (id != m_starter.ids.end()) { + m_starter.ids.erase(id); + return true; + } + + std::vector::iterator iter = m_buttons.begin(); + + while (iter != m_buttons.end()) { + std::vector::iterator id = std::find((*iter)->ids.begin(), + (*iter)->ids.end(), eventID); + + if (id != (*iter)->ids.end()) { + (*iter)->ids.erase(id); + // TODO handle settings button release + return true; + } + ++iter; + } + + return false; +} + +void AutoHideButtonBar::step(float dtime) +{ + if (m_active) { + m_timeout += dtime; + + if (m_timeout > m_timeout_value) { + deactivate(); + } + } +} + +void AutoHideButtonBar::deactivate() +{ + if (m_visible == true) { + m_starter.guibutton->setVisible(true); + m_starter.guibutton->setEnabled(true); + } + m_active = false; + + std::vector::iterator iter = m_buttons.begin(); + + while (iter != m_buttons.end()) { + (*iter)->guibutton->setVisible(false); + (*iter)->guibutton->setEnabled(false); + ++iter; + } +} + +void AutoHideButtonBar::hide() +{ + m_visible = false; + m_starter.guibutton->setVisible(false); + m_starter.guibutton->setEnabled(false); + + std::vector::iterator iter = m_buttons.begin(); + + while (iter != m_buttons.end()) { + (*iter)->guibutton->setVisible(false); + (*iter)->guibutton->setEnabled(false); + ++iter; + } +} + +void AutoHideButtonBar::show() +{ + m_visible = true; + + if (m_active) { + std::vector::iterator iter = m_buttons.begin(); + + while (iter != m_buttons.end()) { + (*iter)->guibutton->setVisible(true); + (*iter)->guibutton->setEnabled(true); + ++iter; + } + } else { + m_starter.guibutton->setVisible(true); + m_starter.guibutton->setEnabled(true); + } +} + +TouchScreenGUI::TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver): + m_device(device), + m_guienv(device->getGUIEnvironment()), + m_camera_yaw(0.0), + m_camera_pitch(0.0), + m_visible(false), + m_move_id(-1), + m_receiver(receiver), + m_move_has_really_moved(false), + m_move_downtime(0), + m_move_sent_as_mouse_event(false), + // use some downlocation way off screen as init value to avoid invalid behaviour + m_move_downlocation(v2s32(-10000, -10000)), + m_settingsbar(device, receiver), + m_rarecontrolsbar(device, receiver) +{ + for (unsigned int i=0; i < after_last_element_id; i++) { + m_buttons[i].guibutton = 0; + m_buttons[i].repeatcounter = -1; + m_buttons[i].repeatdelay = BUTTON_REPEAT_DELAY; + } + + m_screensize = m_device->getVideoDriver()->getScreenSize(); +} + void TouchScreenGUI::initButton(touch_gui_button_id id, rect button_rect, std::wstring caption, bool immediate_release, float repeat_delay) { @@ -166,21 +449,27 @@ void TouchScreenGUI::initButton(touch_gui_button_id id, rect button_rect, btn->immediate_release = immediate_release; btn->ids.clear(); - loadButtonTexture(btn,touchgui_button_imagenames[id], button_rect); + load_button_texture(btn,touchgui_button_imagenames[id],button_rect, + m_texturesource, m_device->getVideoDriver()); } static int getMaxControlPadSize(float density) { return 200 * density * g_settings->getFloat("hud_scaling"); } -void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density) +int TouchScreenGUI::getGuiButtonSize() +{ + u32 control_pad_size = MYMIN((2 * m_screensize.Y) / 3, + getMaxControlPadSize(porting::getDisplayDensity())); + + return control_pad_size / 3; +} + +void TouchScreenGUI::init(ISimpleTextureSource* tsrc) { assert(tsrc != 0); - u32 control_pad_size = - MYMIN((2 * m_screensize.Y) / 3,getMaxControlPadSize(density)); - - u32 button_size = control_pad_size / 3; + u32 button_size = getGuiButtonSize(); m_visible = true; m_texturesource = tsrc; m_control_pad_rect = rect(0, m_screensize.Y - 3 * button_size, @@ -223,16 +512,6 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density) } } - /* init inventory button */ - initButton(inventory_id, - rect(0, m_screensize.Y - (button_size/2), - (button_size/2), m_screensize.Y), L"inv", true); - - /* init drop button */ - initButton(drop_id, - rect(2.5*button_size, m_screensize.Y - (button_size/2), - 3*button_size, m_screensize.Y), L"drop", true); - /* init jump button */ initButton(jump_id, rect(m_screensize.X-(1.75*button_size), @@ -249,48 +528,37 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density) m_screensize.Y), L"H",false); - /* init fly button */ - initButton(fly_id, - rect(m_screensize.X - (0.75*button_size), - m_screensize.Y - (2.25*button_size), - m_screensize.X, m_screensize.Y - (button_size*1.5)), - L"fly", false, SLOW_BUTTON_REPEAT); + m_settingsbar.init(m_texturesource, "gear_icon.png", settings_starter_id, + v2s32(m_screensize.X - (button_size / 2), + m_screensize.Y - ((SETTINGS_BAR_Y_OFFSET + 1) * button_size) + + (button_size * 0.5)), + v2s32(m_screensize.X, + m_screensize.Y - (SETTINGS_BAR_Y_OFFSET * button_size) + + (button_size * 0.5)), AHBB_Dir_Right_Left, + 3.0); - /* init noclip button */ - initButton(noclip_id, - rect(m_screensize.X - (0.75*button_size), 2.25*button_size, - m_screensize.X, 3*button_size), - L"clip", false, SLOW_BUTTON_REPEAT); + m_settingsbar.addButton(fly_id, L"fly", "fly_btn.png"); + m_settingsbar.addButton(noclip_id, L"noclip", "noclip_btn.png"); + m_settingsbar.addButton(fast_id, L"fast", "fast_btn.png"); + m_settingsbar.addButton(debug_id, L"debug", "debug_btn.png"); + m_settingsbar.addButton(camera_id, L"camera", "camera_btn.png"); + m_settingsbar.addButton(range_id, L"rangeview", "rangeview_btn.png"); - /* init fast button */ - initButton(fast_id, - rect(m_screensize.X - (0.75*button_size), 1.5*button_size, - m_screensize.X, 2.25*button_size), - L"fast", false, SLOW_BUTTON_REPEAT); + m_rarecontrolsbar.init(m_texturesource, "rare_controls.png", + rare_controls_starter_id, + v2s32(0, + m_screensize.Y + - ((RARE_CONTROLS_BAR_Y_OFFSET + 1) * button_size) + + (button_size * 0.5)), + v2s32(button_size / 2, + m_screensize.Y - (RARE_CONTROLS_BAR_Y_OFFSET * button_size) + + (button_size * 0.5)), AHBB_Dir_Left_Right, + 2); - /* init debug button */ - initButton(debug_id, - rect(m_screensize.X - (0.75*button_size), 0.75*button_size, - m_screensize.X, 1.5*button_size), - L"dbg", false, SLOW_BUTTON_REPEAT); + m_rarecontrolsbar.addButton(chat_id, L"Chat", "chat_btn.png"); + m_rarecontrolsbar.addButton(inventory_id, L"inv", "inventory_btn.png"); + m_rarecontrolsbar.addButton(drop_id, L"drop", "drop_btn.png"); - /* init chat button */ - initButton(chat_id, - rect(m_screensize.X - (0.75*button_size), 0, - m_screensize.X, 0.75*button_size), - L"Chat", true); - - /* init camera button */ - initButton(camera_id, - rect(m_screensize.X - (1.5*button_size), 0, - m_screensize.X - (0.75*button_size), 0.75*button_size), - L"cam", false, SLOW_BUTTON_REPEAT); - - /* init rangeselect button */ - initButton(range_id, - rect(m_screensize.X - (2.25*button_size), 0, - m_screensize.X - (1.5*button_size), 0.75*button_size), - L"far", false, SLOW_BUTTON_REPEAT); } touch_gui_button_id TouchScreenGUI::getButtonID(s32 x, s32 y) @@ -374,7 +642,7 @@ bool TouchScreenGUI::isReleaseHUDButton(int eventID) return false; } -void TouchScreenGUI::ButtonEvent(touch_gui_button_id button, +void TouchScreenGUI::handleButtonEvent(touch_gui_button_id button, int eventID, bool action) { button_info* btn = &m_buttons[button]; @@ -424,11 +692,15 @@ void TouchScreenGUI::handleReleaseEvent(int evt_id) /* handle button events */ if (button != after_last_element_id) { - ButtonEvent(button, evt_id, false); + handleButtonEvent(button, evt_id, false); } /* handle hud button events */ else if (isReleaseHUDButton(evt_id)) { /* nothing to do here */ + } else if (m_settingsbar.isReleaseButton(evt_id)) { + /* nothing to do here */ + } else if (m_rarecontrolsbar.isReleaseButton(evt_id)) { + /* nothing to do here */ } /* handle the point used for moving view */ else if (evt_id == m_move_id) { @@ -498,14 +770,24 @@ void TouchScreenGUI::translateEvent(const SEvent &event) /* handle button events */ if (button != after_last_element_id) { - ButtonEvent(button,eventID,true); - } - else if (isHUDButton(event)) - { + handleButtonEvent(button, eventID, true); + m_settingsbar.deactivate(); + m_rarecontrolsbar.deactivate(); + } else if (isHUDButton(event)) { + m_settingsbar.deactivate(); + m_rarecontrolsbar.deactivate(); /* already handled in isHUDButton() */ + } else if (m_settingsbar.isButton(event)) { + m_rarecontrolsbar.deactivate(); + /* already handled in isSettingsBarButton() */ + } else if (m_rarecontrolsbar.isButton(event)) { + m_settingsbar.deactivate(); + /* already handled in isSettingsBarButton() */ } /* handle non button events */ else { + m_settingsbar.deactivate(); + m_rarecontrolsbar.deactivate(); /* if we don't already have a moving point make this the moving one */ if (m_move_id == -1) { m_move_id = event.TouchInput.ID; @@ -520,7 +802,6 @@ void TouchScreenGUI::translateEvent(const SEvent &event) } else if (event.TouchInput.Event == ETIE_LEFT_UP) { verbosestream << "Up event for pointerid: " << event.TouchInput.ID << std::endl; - handleReleaseEvent(event.TouchInput.ID); } else { @@ -582,8 +863,7 @@ void TouchScreenGUI::translateEvent(const SEvent &event) ->getRayFromScreenCoordinates( v2s32(event.TouchInput.X,event.TouchInput.Y)); } - } - else { + } else { handleChangedButton(event); } } @@ -596,7 +876,7 @@ void TouchScreenGUI::handleChangedButton(const SEvent &event) if (m_buttons[i].ids.empty()) { continue; } - for(std::vector::iterator iter = m_buttons[i].ids.begin(); + for (std::vector::iterator iter = m_buttons[i].ids.begin(); iter != m_buttons[i].ids.end(); ++iter) { if (event.TouchInput.ID == *iter) { @@ -609,12 +889,12 @@ void TouchScreenGUI::handleChangedButton(const SEvent &event) } /* remove old button */ - ButtonEvent((touch_gui_button_id) i,*iter,false); + handleButtonEvent((touch_gui_button_id) i,*iter,false); if (current_button_id == after_last_element_id) { return; } - ButtonEvent((touch_gui_button_id) current_button_id,*iter,true); + handleButtonEvent((touch_gui_button_id) current_button_id,*iter,true); return; } @@ -628,8 +908,11 @@ void TouchScreenGUI::handleChangedButton(const SEvent &event) } button_info* btn = &m_buttons[current_button_id]; - if (std::find(btn->ids.begin(),btn->ids.end(), event.TouchInput.ID) == btn->ids.end()) { - ButtonEvent((touch_gui_button_id) current_button_id,event.TouchInput.ID,true); + if (std::find(btn->ids.begin(),btn->ids.end(), event.TouchInput.ID) + == btn->ids.end()) + { + handleButtonEvent((touch_gui_button_id) current_button_id, + event.TouchInput.ID, true); } } @@ -643,7 +926,7 @@ bool TouchScreenGUI::doubleTapDetection() m_key_events[1].x = m_move_downlocation.X; m_key_events[1].y = m_move_downlocation.Y; - u32 delta = porting::getDeltaMs(m_key_events[0].down_time,getTimeMs()); + u32 delta = porting::getDeltaMs(m_key_events[0].down_time, getTimeMs()); if (delta > 400) return false; @@ -652,11 +935,11 @@ bool TouchScreenGUI::doubleTapDetection() (m_key_events[0].y - m_key_events[1].y) * (m_key_events[0].y - m_key_events[1].y)); - if (distance >(20 + g_settings->getU16("touchscreen_threshold"))) + if (distance > (20 + g_settings->getU16("touchscreen_threshold"))) return false; SEvent* translated = new SEvent(); - memset(translated,0,sizeof(SEvent)); + memset(translated, 0, sizeof(SEvent)); translated->EventType = EET_MOUSE_INPUT_EVENT; translated->MouseInput.X = m_key_events[0].x; translated->MouseInput.Y = m_key_events[0].y; @@ -685,7 +968,7 @@ bool TouchScreenGUI::doubleTapDetection() TouchScreenGUI::~TouchScreenGUI() { - for (unsigned int i=0; i < after_last_element_id; i++) { + for (unsigned int i = 0; i < after_last_element_id; i++) { button_info* btn = &m_buttons[i]; if (btn->guibutton != 0) { btn->guibutton->drop(); @@ -697,7 +980,7 @@ TouchScreenGUI::~TouchScreenGUI() void TouchScreenGUI::step(float dtime) { /* simulate keyboard repeats */ - for (unsigned int i=0; i < after_last_element_id; i++) { + for (unsigned int i = 0; i < after_last_element_id; i++) { button_info* btn = &m_buttons[i]; if (btn->ids.size() > 0) { @@ -711,7 +994,7 @@ void TouchScreenGUI::step(float dtime) btn->repeatcounter = 0; SEvent translated; - memset(&translated,0,sizeof(SEvent)); + memset(&translated, 0, sizeof(SEvent)); translated.EventType = irr::EET_KEY_INPUT_EVENT; translated.KeyInput.Key = btn->keycode; translated.KeyInput.PressedDown = false; @@ -737,7 +1020,7 @@ void TouchScreenGUI::step(float dtime) v2s32(m_move_downlocation.X,m_move_downlocation.Y)); SEvent translated; - memset(&translated,0,sizeof(SEvent)); + memset(&translated, 0, sizeof(SEvent)); translated.EventType = EET_MOUSE_INPUT_EVENT; translated.MouseInput.X = m_move_downlocation.X; translated.MouseInput.Y = m_move_downlocation.Y; @@ -750,6 +1033,9 @@ void TouchScreenGUI::step(float dtime) m_move_sent_as_mouse_event = true; } } + + m_settingsbar.step(dtime); + m_rarecontrolsbar.step(dtime); } void TouchScreenGUI::resetHud() @@ -765,7 +1051,7 @@ void TouchScreenGUI::registerHudItem(int index, const rect &rect) void TouchScreenGUI::Toggle(bool visible) { m_visible = visible; - for (unsigned int i=0; i < after_last_element_id; i++) { + for (unsigned int i = 0; i < after_last_element_id; i++) { button_info* btn = &m_buttons[i]; if (btn->guibutton != 0) { btn->guibutton->setVisible(visible); @@ -777,10 +1063,16 @@ void TouchScreenGUI::Toggle(bool visible) while (m_known_ids.size() > 0) { handleReleaseEvent(m_known_ids.begin()->id); } + + m_settingsbar.hide(); + m_rarecontrolsbar.hide(); + } else { + m_settingsbar.show(); + m_rarecontrolsbar.show(); } } -void TouchScreenGUI::Hide() +void TouchScreenGUI::hide() { if (!m_visible) return; @@ -788,7 +1080,7 @@ void TouchScreenGUI::Hide() Toggle(false); } -void TouchScreenGUI::Show() +void TouchScreenGUI::show() { if (m_visible) return; diff --git a/src/touchscreengui.h b/src/touchscreengui.h index 1e69a41e9..d8106a260 100644 --- a/src/touchscreengui.h +++ b/src/touchscreengui.h @@ -38,26 +38,105 @@ typedef enum { backward_id, left_id, right_id, - inventory_id, - drop_id, jump_id, crunch_id, + after_last_element_id, + settings_starter_id, + rare_controls_starter_id, fly_id, noclip_id, fast_id, debug_id, - chat_id, camera_id, range_id, - after_last_element_id + chat_id, + inventory_id, + drop_id } touch_gui_button_id; +typedef enum { + AHBB_Dir_Top_Bottom, + AHBB_Dir_Bottom_Top, + AHBB_Dir_Left_Right, + AHBB_Dir_Right_Left +} autohide_button_bar_dir; + #define MIN_DIG_TIME_MS 500 #define MAX_TOUCH_COUNT 64 #define BUTTON_REPEAT_DELAY 0.2f +#define SETTINGS_BAR_Y_OFFSET 6.5 +#define RARE_CONTROLS_BAR_Y_OFFSET 4 + extern const char** touchgui_button_imagenames; +struct button_info { + float repeatcounter; + float repeatdelay; + irr::EKEY_CODE keycode; + std::vector ids; + IGUIButton* guibutton; + bool immediate_release; +}; + +class AutoHideButtonBar +{ +public: + + AutoHideButtonBar( IrrlichtDevice *device, IEventReceiver* receiver ); + + void init(ISimpleTextureSource* tsrc, const char* starter_img, + int button_id, v2s32 UpperLeft, v2s32 LowerRight, + autohide_button_bar_dir dir, float timeout); + + ~AutoHideButtonBar(); + + /* add button to be shown */ + void addButton(touch_gui_button_id id, const wchar_t* caption, + const char* btn_image); + + /* detect settings bar button events */ + bool isButton(const SEvent &event); + + /* handle released hud buttons */ + bool isReleaseButton(int eventID); + + /* step handler */ + void step(float dtime); + + /* deactivate button bar */ + void deactivate(); + + /* hide the whole buttonbar */ + void hide(); + + /* unhide the buttonbar */ + void show(); + +private: + ISimpleTextureSource* m_texturesource; + irr::video::IVideoDriver* m_driver; + IGUIEnvironment* m_guienv; + IEventReceiver* m_receiver; + v2u32 m_screensize; + button_info m_starter; + std::vector m_buttons; + + v2s32 m_upper_left; + v2s32 m_lower_right; + + /* show settings bar */ + bool m_active; + + bool m_visible; + + /* settings bar timeout */ + float m_timeout; + float m_timeout_value; + bool m_initialized; + autohide_button_bar_dir m_dir; +}; + class TouchScreenGUI { public: @@ -66,7 +145,7 @@ public: void translateEvent(const SEvent &event); - void init(ISimpleTextureSource* tsrc,float density); + void init(ISimpleTextureSource* tsrc); double getYaw() { return m_camera_yaw; } double getPitch() { return m_camera_pitch; } @@ -77,8 +156,8 @@ public: void registerHudItem(int index, const rect &rect); void Toggle(bool visible); - void Hide(); - void Show(); + void hide(); + void show(); private: IrrlichtDevice* m_device; @@ -104,15 +183,6 @@ private: bool m_move_sent_as_mouse_event; v2s32 m_move_downlocation; - struct button_info { - float repeatcounter; - float repeatdelay; - irr::EKEY_CODE keycode; - std::vector ids; - IGUIButton* guibutton; - bool immediate_release; - }; - button_info m_buttons[after_last_element_id]; /* gui button detection */ @@ -142,7 +212,7 @@ private: std::vector m_known_ids; /* handle a button event */ - void ButtonEvent(touch_gui_button_id bID, int eventID, bool action); + void handleButtonEvent(touch_gui_button_id bID, int eventID, bool action); /* handle pressed hud buttons */ bool isHUDButton(const SEvent &event); @@ -156,6 +226,9 @@ private: /* handle release event */ void handleReleaseEvent(int evt_id); + /* get size of regular gui control button */ + int getGuiButtonSize(); + /* doubleclick detection variables */ struct key_event { unsigned int down_time; @@ -168,6 +241,12 @@ private: /* array for doubletap detection */ key_event m_key_events[2]; + + /* settings bar */ + AutoHideButtonBar m_settingsbar; + + /* rare controls bar */ + AutoHideButtonBar m_rarecontrolsbar; }; extern TouchScreenGUI *g_touchscreengui; #endif diff --git a/textures/base/pack/drop_btn.png b/textures/base/pack/drop_btn.png index 2db4a08fcbf266e106a895d8cb42daf77aad50cd..5d777108a6dde8cbc6658b9cbe6224d996264060 100644 GIT binary patch delta 1024 zcmV+b1poV+1d9le8Gi-<0063Kaozv`1JX%EK~#9!?U_$#9aR*@es&PsBC9*xy zG~<^etu`PmWE`0EufGC|3CHgS9`)@>Gy9;j08$#S4G44dTBq??5N2jo0MHlNp7WbO z;6~CKKj6ootK1au2sr6|W8Tu{fOEjKZ=b131cU(40f;!`0K0$}{oK2O0q_48_yf2M zoCoI2?5{Edh<^hSXS}6x;8|eD8rNO{ZUOVa1z^g|u9p!&JBT>rEgknLNUMKh0AbBBOEz<*#ujv56%m-KQkAoP*5%xu}r zX3XquGaK_LIRec3qcWr?fhkF&l?M<5WEyx5cpjJmRs%yH2R`j~PUvfU%ymQKSt0{? z4LB7O4f}z2B@Olpz*rZ|AITUI*MWC{j{*=3c-14NdjLFPO*()#*8yT2IOFCgv#tZo zY#I0%_JeLI+rZn210q)0woPfx)!+pt)5MTH9+KE1Wou64$}mAE?5ZwI7U+>>1F`H z_mzJWOrcP*WVlHHE(ZD@sXYKmn|Rs*St}CKs{Frv48Bh4p3XpZ>^gr_B4k@SkN80Ng1Oz=wqY u<;hE{z|lfOQPNhRs9OEqtbe@JM)v@rY_|4V`h$@G0000(Z zFPK5FcJjSiA#F1XX`^S)3JM%#-``^~(=kn&6eXW8FlS7j7;W6&N=xaDU6<(8v7q3lmpB15;Df{a>uB&PFM4 zuQ7Mo_LFypS>S3dPM)7@LVmLJ7%kT;YH(I*F+cEq&mxfvFZQx9?)fG=*)#M)OTuiX zjGWdL;xkhIy{J4qgL(4G4{5~@Pv8H*x4)lNwnjnVfE-5xKg$MorW?tOZxZ|3zC|!p z-^kthDe@H8>zg-TDKeC?++uccKETLe#bm-DBUr$6;AS`b9&P5xnKyL4OMw9>m diff --git a/textures/base/pack/gear_icon.png b/textures/base/pack/gear_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..71825eb8df3dd9bbf2d2512649f16c20397e5198 GIT binary patch literal 1005 zcmVe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00UJ?L_t(|+U=XYQrs{Ug|8S2 zc#>4RbZfdz$rBk;8LDgvZxouW%iVIH1R6LgA~TL-N!PY)fqlN2ongktl8&VNXIX?0 zLI@#*5JCtcgb+dqA%qY@2q9$Vn5i2CuoaQ-j?2G{G0(GB9KarK_Dfg+@OH?UN&9p* z@!$&)K|r74D=zB-z)3Uv8WhhteF~ufYygx1-t7+nR*ri!=*b+P<1*T#kY{pSt3wm0_7KLL1i%wDw;wvGSU*{$OB0`{I=Q@qBro4f&d zn%tT@I5Y;m4|Luq;=V2hfJ0xqF}6RiI($_#id_dC5~HxszG``P@AzSe8+@+0w1>)n z+u0~0#u?Q!ifX29Th*S2?Mo6baH_1ZZ+VWuq2`57L&k8XaB~2Vx49-`%r|>qDI)6$ zwO`vdKl;$(a&z1F&5#)`Th#vz;HKf1Q?jysxv_m~QuZDE!DYlg(cqgRxQytb>)_X( z#@1cJ+6K8R%4=D=ozV7sh>w4-8K0xl#Z}>I)?)=`wJ=-L&QY^+RRxQH%0&nNUPSOT zMTdBy2&~TSkS(xQCN$opsHX_44uMtX>VID&SYP^kMF+|e{L`o64ZmHzF1or=B!pi(*zz)2$RF-pOtkv4d0`dd`on>vg#fcSDmzAYIRC@ab2={14<;g{r(gP$ znOH(B^P{PrLcMD;x~brYlL;0=+4I^coF@?APCOq^3n7FMLI@#*5JCtcgb+dqA%qY@ b2#L!d2uD9k3Jmp=00000NkvXXu0mjfEZf7U literal 0 HcmV?d00001 diff --git a/textures/base/pack/rare_controls.png b/textures/base/pack/rare_controls.png new file mode 100644 index 0000000000000000000000000000000000000000..4829649344979e0589bda829c6292c1da5bbf81e GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3HFEH|A#nDYhhUcNZWH1V5d3*8?fe0*}aI z1_o|n5N2eUHAey{$X?><>&kwgQIM0Lllx867od=2iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f11PZ!6Kid%1Q9pq$C;9+r8{&v6UjUxw#d2~bn!3K|2yTgmB zTiJmM85ky6GpGC6>73#P^RN)_eQUa>OJk7$3C&N7yv2cC&LLph(q8ORlQ!w(vS61| f&^Ud`4J_5PJJy_?=iT!q8$n!8S3j3^P6 Date: Tue, 15 Dec 2015 00:03:18 +0100 Subject: [PATCH 29/52] Add support for limiting rotation of automatic face movement dir entitys --- src/content_cao.cpp | 12 +++++++++++- src/content_sao.cpp | 16 ++++++++++++++-- src/object_properties.cpp | 6 +++++- src/object_properties.h | 2 +- src/script/common/c_content.cpp | 6 ++++++ 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/content_cao.cpp b/src/content_cao.cpp index ed4e3b713..1b8e84c8f 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -1260,8 +1260,18 @@ void GenericCAO::step(float dtime, ClientEnvironment *env) if (getParent() == NULL && m_prop.automatic_face_movement_dir && (fabs(m_velocity.Z) > 0.001 || fabs(m_velocity.X) > 0.001)) { - m_yaw = atan2(m_velocity.Z,m_velocity.X) * 180 / M_PI + float optimal_yaw = atan2(m_velocity.Z,m_velocity.X) * 180 / M_PI + m_prop.automatic_face_movement_dir_offset; + float max_rotation_delta = + dtime * m_prop.automatic_face_movement_max_rotation_per_sec; + + if ((m_prop.automatic_face_movement_max_rotation_per_sec > 0) && + (fabs(m_yaw - optimal_yaw) > max_rotation_delta)) { + + m_yaw = optimal_yaw < m_yaw ? m_yaw - max_rotation_delta : m_yaw + max_rotation_delta; + } else { + m_yaw = optimal_yaw; + } updateNodePos(); } } diff --git a/src/content_sao.cpp b/src/content_sao.cpp index 0a1cfe770..4d144aa17 100644 --- a/src/content_sao.cpp +++ b/src/content_sao.cpp @@ -283,8 +283,20 @@ void LuaEntitySAO::step(float dtime, bool send_recommended) } if((m_prop.automatic_face_movement_dir) && - (fabs(m_velocity.Z) > 0.001 || fabs(m_velocity.X) > 0.001)){ - m_yaw = atan2(m_velocity.Z,m_velocity.X) * 180 / M_PI + m_prop.automatic_face_movement_dir_offset; + (fabs(m_velocity.Z) > 0.001 || fabs(m_velocity.X) > 0.001)) + { + float optimal_yaw = atan2(m_velocity.Z,m_velocity.X) * 180 / M_PI + + m_prop.automatic_face_movement_dir_offset; + float max_rotation_delta = + dtime * m_prop.automatic_face_movement_max_rotation_per_sec; + + if ((m_prop.automatic_face_movement_max_rotation_per_sec > 0) && + (fabs(m_yaw - optimal_yaw) > max_rotation_delta)) { + + m_yaw = optimal_yaw < m_yaw ? m_yaw - max_rotation_delta : m_yaw + max_rotation_delta; + } else { + m_yaw = optimal_yaw; + } } } diff --git a/src/object_properties.cpp b/src/object_properties.cpp index 3cec51672..abd1bbd09 100644 --- a/src/object_properties.cpp +++ b/src/object_properties.cpp @@ -45,7 +45,8 @@ ObjectProperties::ObjectProperties(): automatic_face_movement_dir_offset(0.0), backface_culling(true), nametag(""), - nametag_color(255, 255, 255, 255) + nametag_color(255, 255, 255, 255), + automatic_face_movement_max_rotation_per_sec(-1) { textures.push_back("unknown_object.png"); colors.push_back(video::SColor(255,255,255,255)); @@ -116,6 +117,8 @@ void ObjectProperties::serialize(std::ostream &os) const writeU8(os, backface_culling); os << serializeString(nametag); writeARGB8(os, nametag_color); + writeF1000(os, automatic_face_movement_max_rotation_per_sec); + // Add stuff only at the bottom. // Never remove anything, because we don't want new versions of this } @@ -155,6 +158,7 @@ void ObjectProperties::deSerialize(std::istream &is) backface_culling = readU8(is); nametag = deSerializeString(is); nametag_color = readARGB8(is); + automatic_face_movement_max_rotation_per_sec = readF1000(is); }catch(SerializationError &e){} } else diff --git a/src/object_properties.h b/src/object_properties.h index 5dd3f57a1..47698cff7 100644 --- a/src/object_properties.h +++ b/src/object_properties.h @@ -50,7 +50,7 @@ struct ObjectProperties bool backface_culling; std::string nametag; video::SColor nametag_color; - + f32 automatic_face_movement_max_rotation_per_sec; ObjectProperties(); std::string dump(); diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index 4d277ec59..f9370c4dc 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -201,6 +201,7 @@ void read_object_properties(lua_State *L, int index, } lua_pop(L, 1); getboolfield(L, -1, "backface_culling", prop->backface_culling); + getstringfield(L, -1, "nametag", prop->nametag); lua_getfield(L, -1, "nametag_color"); if (!lua_isnil(L, -1)) { @@ -208,6 +209,11 @@ void read_object_properties(lua_State *L, int index, if (read_color(L, -1, &color)) prop->nametag_color = color; } + + lua_getfield(L, -1, "automatic_face_movement_max_rotation_per_sec"); + if (lua_isnumber(L, -1)) { + prop->automatic_face_movement_max_rotation_per_sec = luaL_checknumber(L, -1); + } lua_pop(L, 1); } From f192a5bc43951f7ea120877335e97efe755ac29c Mon Sep 17 00:00:00 2001 From: est31 Date: Sun, 20 Dec 2015 03:36:47 +0100 Subject: [PATCH 30/52] Fix missing pop Previous commit 70ea5d552e283bd5bce3278cbf3819bd87ba2602 "Add support for limiting rotation of automatic face movement dir entitys" by sapier has broken minetest's feature to open worlds. This was due to a missing stack pop operation. Thanks to @oleastre for reporting this bug and suggesting the fix. --- src/script/common/c_content.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index f9370c4dc..89f927f10 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -209,6 +209,7 @@ void read_object_properties(lua_State *L, int index, if (read_color(L, -1, &color)) prop->nametag_color = color; } + lua_pop(L, 1); lua_getfield(L, -1, "automatic_face_movement_max_rotation_per_sec"); if (lua_isnumber(L, -1)) { From b4eb614d31a6ed7935bfaa4090fa275a306a3aee Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Fri, 18 Dec 2015 23:26:44 -0500 Subject: [PATCH 31/52] Android: Fix extra files being copied to the APK dcb91cf0c0c9a20622feeb4e5e8104ffbc9fa8ec hacked around the biggest issue this caused, but wasted a lot of CPU time and disk space It also still included a lot of other unwanted files. This removes all of `doc/` except the license, and also removes the server list. --- build/android/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/android/Makefile b/build/android/Makefile index dd6c89ad9..42a46254a 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -739,9 +739,9 @@ assets : $(ASSETS_TIMESTAMP) cp ${ROOT}/../../minetest.conf.example ${ROOT}/assets/Minetest; \ cp ${ROOT}/../../README.txt ${ROOT}/assets/Minetest; \ cp -r ${ROOT}/../../builtin ${ROOT}/assets/Minetest; \ - cp -r ${ROOT}/../../client ${ROOT}/assets/Minetest; \ - cp -r ${ROOT}/../../doc ${ROOT}/assets/Minetest; \ - rm -rf ${ROOT}/assets/Minetest/doc/html; \ + mkdir ${ROOT}/assets/Minetest/client; \ + cp -r ${ROOT}/../../client/shaders ${ROOT}/assets/Minetest/client; \ + cp ${ROOT}/../../doc/lgpl-2.1.txt ${ROOT}/assets/Minetest/LICENSE.txt; \ mkdir ${ROOT}/assets/Minetest/fonts; \ cp -r ${ROOT}/../../fonts/*.ttf ${ROOT}/assets/Minetest/fonts/; \ mkdir ${ROOT}/assets/Minetest/games; \ From 5755c9a43980930ba97fe7db56d3e0509a3e2d77 Mon Sep 17 00:00:00 2001 From: HybridDog Date: Fri, 18 Dec 2015 17:38:25 +0100 Subject: [PATCH 32/52] Fix missing localization for obj --- builtin/game/item.lua | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 6c2214ef6..d16601d30 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -27,19 +27,11 @@ function core.get_pointed_thing_position(pointed_thing, above) if above then -- The position where a node would be placed return pointed_thing.above - else - -- The position where a node would be dug - return pointed_thing.under end + -- The position where a node would be dug + return pointed_thing.under elseif pointed_thing.type == "object" then - obj = pointed_thing.ref - if obj ~= nil then - return obj:getpos() - else - return nil - end - else - return nil + return pointed_thing.ref and pointed_thing.ref:getpos() end end From 5de8e026a38f4fd080c10e98d4650de6435c2975 Mon Sep 17 00:00:00 2001 From: Sapier Date: Mon, 21 Dec 2015 00:24:37 +0100 Subject: [PATCH 33/52] Fix lua object:get_properties() being broken --- src/script/common/c_content.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index 89f927f10..36a5c2ddd 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -278,9 +278,10 @@ void push_object_properties(lua_State *L, ObjectProperties *prop) lua_setfield(L, -2, "backface_culling"); lua_pushlstring(L, prop->nametag.c_str(), prop->nametag.size()); lua_setfield(L, -2, "nametag"); - lua_newtable(L); push_ARGB8(L, prop->nametag_color); lua_setfield(L, -2, "nametag_color"); + lua_pushnumber(L, prop->automatic_face_movement_max_rotation_per_sec); + lua_setfield(L, -2, "automatic_face_movement_max_rotation_per_sec"); } /******************************************************************************/ From 80edc7f78a01f59c4649ee2c6d774c4a12f696b1 Mon Sep 17 00:00:00 2001 From: Andrea Di Pietro Ulla Date: Sun, 15 Nov 2015 15:37:50 +0100 Subject: [PATCH 34/52] Translated using Weblate (Italian) Currently translated at 42.0% (331 of 787 strings) --- po/it/minetest.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index 577f791ee..ee532d224 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: Minetest 0.4.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-14 22:10+0000\n" -"Last-Translator: LelixSuperHD \n" +"PO-Revision-Date: 2015-11-15 15:37+0000\n" +"Last-Translator: Andrea Di Pietro Ulla \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -38,7 +38,7 @@ msgstr "Ok" #: builtin/fstk/ui.lua msgid "Reconnect" -msgstr "Riconnettiti" +msgstr "Riconnettersi" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" From 1ba9ed70085b7a2edd4960d523ba62cdfdfe2982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristjan=20R=C3=A4ts?= Date: Thu, 19 Nov 2015 16:52:36 +0100 Subject: [PATCH 35/52] Translated using Weblate (Estonian) Currently translated at 23.7% (187 of 787 strings) --- po/et/minetest.po | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/po/et/minetest.po b/po/et/minetest.po index 249b40e9f..ed6e69a4f 100644 --- a/po/et/minetest.po +++ b/po/et/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-11 12:12+0000\n" +"PO-Revision-Date: 2015-11-19 16:52+0000\n" "Last-Translator: Kristjan Räts \n" "Language-Team: Estonian " "\n" @@ -21,11 +21,11 @@ msgstr "" #: builtin/fstk/ui.lua msgid "An error occured in a Lua script, such as a mod:" -msgstr "" +msgstr "Lue skriptis ilmnes viga; nagu näiteks mod:" #: builtin/fstk/ui.lua msgid "An error occured:" -msgstr "" +msgstr "Ilmnes viga:" #: builtin/fstk/ui.lua msgid "Main menu" @@ -41,35 +41,37 @@ msgstr "Taasta ühendus" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "Server taotles taasühendumist:" #: builtin/mainmenu/common.lua src/game.cpp msgid "Loading..." -msgstr "" +msgstr "Laadimine..." #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " -msgstr "" +msgstr "Protokolli versioon ei sobi. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "Server jõustab protokolli versiooni $1. " #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " -msgstr "" +msgstr "Server toetab protokolli versioone $1 kuni $2. " #: builtin/mainmenu/common.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +"Proovi lubada uuesti avalik serverite loend ja kontrollo oma Interneti " +"ühendust." #: builtin/mainmenu/common.lua msgid "We only support protocol version $1." -msgstr "" +msgstr "Meie toetame ainult protokolli versiooni $1." #: builtin/mainmenu/common.lua msgid "We support protocol versions between version $1 and $2." -msgstr "" +msgstr "Meie toetame protokolli versioone $1 kuni $2." #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_rename_modpack.lua builtin/mainmenu/tab_settings.lua @@ -98,6 +100,8 @@ msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "chararacters [a-z0-9_] are allowed." msgstr "" +"Mod \"$1\" kasutamine nurjus, sest ka sisaldab keelatud sümboleid. Lubatud " +"märgid on ainult [a-z0-9_]." #: builtin/mainmenu/dlg_config_world.lua msgid "Hide Game" @@ -105,11 +109,11 @@ msgstr "Peida mäng" #: builtin/mainmenu/dlg_config_world.lua msgid "Hide mp content" -msgstr "" +msgstr "Peida mod. pakkide sisu" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" -msgstr "" +msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_settings.lua #: src/guiKeyChangeMenu.cpp @@ -134,11 +138,11 @@ msgstr "Loo" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a subgame, such as minetest_game, from minetest.net" -msgstr "" +msgstr "Laadi alla alammäng, näiteks minetest_game, aadressilt minetest.net" #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" -msgstr "" +msgstr "Laadi minetest.net-st üks mäng alla" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" @@ -154,11 +158,11 @@ msgstr "No nimi või no mäng valitud" #: builtin/mainmenu/dlg_create_world.lua msgid "Seed" -msgstr "" +msgstr "Seed" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." -msgstr "" +msgstr "Hoiatus: minimaalne arendustest on mõeldud arendajatele." #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -166,7 +170,7 @@ msgstr "Maailma nimi" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no subgames installed." -msgstr "" +msgstr "Sa ei ole alammänge paigaldanud." #: builtin/mainmenu/dlg_delete_mod.lua msgid "Are you sure you want to delete \"$1\"?" From bf889997a8eb97da5bcc3062b553249c4a1ef9b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Liudas=20Ali=C5=A1auskas?= Date: Thu, 19 Nov 2015 05:07:59 +0100 Subject: [PATCH 36/52] Translated using Weblate (Lithuanian) Currently translated at 30.7% (242 of 787 strings) Squashed two translation commits to one --- po/lt/minetest.po | 336 ++++++++++++++++++++++++---------------------- 1 file changed, 175 insertions(+), 161 deletions(-) diff --git a/po/lt/minetest.po b/po/lt/minetest.po index 362eaf5b3..64d2e78c5 100644 --- a/po/lt/minetest.po +++ b/po/lt/minetest.po @@ -8,27 +8,27 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2013-12-11 19:23+0200\n" -"Last-Translator: Jonas Kriaučiūnas \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2015-11-19 05:14+0000\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian " +"\n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" -"%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 1.7-dev\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"(n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 2.5-dev\n" #: builtin/fstk/ui.lua msgid "An error occured in a Lua script, such as a mod:" -msgstr "" +msgstr "Klaida įvyko Lua scenarijuje, tokiame kaip papildinys:" #: builtin/fstk/ui.lua msgid "An error occured:" -msgstr "" +msgstr "Įvyko klaida:" #: builtin/fstk/ui.lua -#, fuzzy msgid "Main menu" msgstr "Pagrindinis meniu" @@ -37,13 +37,12 @@ msgid "Ok" msgstr "Gerai" #: builtin/fstk/ui.lua -#, fuzzy msgid "Reconnect" -msgstr "Jungtis" +msgstr "Prisijungti iš naujo" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "Serveris paprašė prisijungti iš naujo:" #: builtin/mainmenu/common.lua src/game.cpp msgid "Loading..." @@ -51,11 +50,11 @@ msgstr "Įkeliama..." #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " -msgstr "" +msgstr "Neatitinka protokolo versija. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "Serveris reikalauja naudoti versijos $1 protokolą. " #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " @@ -64,6 +63,8 @@ msgstr "" #: builtin/mainmenu/common.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +"Pabandykite dar kart įjungti viešą serverių sąrašą ir patikrinkite savo " +"interneto ryšį." #: builtin/mainmenu/common.lua msgid "We only support protocol version $1." @@ -100,6 +101,8 @@ msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "chararacters [a-z0-9_] are allowed." msgstr "" +"Nepavyko įjungti papildinio „$1“, nes jis turi neleistų rašmenų. Tik " +"rašmenys [a-z0-9_] yra leidžiami." #: builtin/mainmenu/dlg_config_world.lua msgid "Hide Game" @@ -136,11 +139,11 @@ msgstr "Sukurti" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a subgame, such as minetest_game, from minetest.net" -msgstr "" +msgstr "Atsisiųskite sub žaidimą, tokį kaip minetest_game, iš minetest.net" #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" -msgstr "" +msgstr "Atsisiųsti vieną iš minetest.net" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" @@ -148,20 +151,19 @@ msgstr "Žaidimas" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "" +msgstr "Žemėlapių generavimas" #: builtin/mainmenu/dlg_create_world.lua msgid "No worldname given or no game selected" -msgstr "" +msgstr "Nepateiktas joks pasaulio pavadinimas, arba nepasirinktas žaidimas" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Seed" msgstr "Sėkla" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." -msgstr "" +msgstr "Dėmesio: Minimalus kūrimo bandymas yra skirtas vystytojams." #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -169,25 +171,26 @@ msgstr "Pasaulio pavadinimas" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no subgames installed." -msgstr "" +msgstr "Neturite įdiegę sub žaidimų." #: builtin/mainmenu/dlg_delete_mod.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "" +msgstr "Ar tikrai norite ištrinti „$1“?" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Modmgr: failed to delete \"$1\"" -msgstr "" +msgstr "Papildtvrk: nepavyko ištrinti „$1“" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Modmgr: invalid modpath \"$1\"" -msgstr "" +msgstr "Papildtvrk: netinkamas papildinio kelias „$1“" #: builtin/mainmenu/dlg_delete_mod.lua msgid "No of course not!" -msgstr "" +msgstr "Ne, tikrai ne!" #: builtin/mainmenu/dlg_delete_mod.lua builtin/mainmenu/dlg_delete_world.lua +#: builtin/mainmenu/tab_settings.lua msgid "Yes" msgstr "Taip" @@ -200,7 +203,6 @@ msgid "No" msgstr "Ne" #: builtin/mainmenu/dlg_rename_modpack.lua src/keycode.cpp -#, fuzzy msgid "Accept" msgstr "Priimti" @@ -213,6 +215,8 @@ msgid "" "\n" "Install Mod: unsupported filetype \"$1\" or broken archive" msgstr "" +"\n" +"Papildinio diegimas: nepalaikomas failo tipas „$1“, arba sugadintas archyvas" #: builtin/mainmenu/modmgr.lua msgid "Failed to install $1 to $2" @@ -220,23 +224,25 @@ msgstr "Nepavyko įdiegti $1 į $2" #: builtin/mainmenu/modmgr.lua msgid "Install Mod: file: \"$1\"" -msgstr "" +msgstr "Įdiegti papildinį: failas: „$1“" #: builtin/mainmenu/modmgr.lua msgid "Install Mod: unable to find real modname for: $1" -msgstr "" +msgstr "Papildinio diegimas: nepavyksta rasti tikro pavadinimo skirto: $1" #: builtin/mainmenu/modmgr.lua msgid "Install Mod: unable to find suitable foldername for modpack $1" msgstr "" +"Papildinio diegimas: nepavyksta rasti tinkamo aplanko pavadinimo papildinio " +"paketui $1" #: builtin/mainmenu/store.lua msgid "Close store" -msgstr "" +msgstr "Užverti parduotuvę" #: builtin/mainmenu/store.lua msgid "Downloading $1, please wait..." -msgstr "" +msgstr "Atsiunčiama $1, prašome palaukti..." #: builtin/mainmenu/store.lua msgid "Install" @@ -244,28 +250,27 @@ msgstr "Įdiegti" #: builtin/mainmenu/store.lua msgid "Page $1 of $2" -msgstr "" +msgstr "Puslapis $1 iš $2" #: builtin/mainmenu/store.lua msgid "Rating" -msgstr "" +msgstr "Įvertinimas" #: builtin/mainmenu/store.lua msgid "Search" -msgstr "" +msgstr "Ieškoti" #: builtin/mainmenu/store.lua -#, fuzzy msgid "Shortname:" -msgstr "Pasaulio pavadinimas" +msgstr "Trumpas pavadinimas:" #: builtin/mainmenu/store.lua msgid "Successfully installed:" -msgstr "" +msgstr "Sėkmingai įdiegta:" #: builtin/mainmenu/store.lua msgid "Unsorted" -msgstr "" +msgstr "Nerikiuota" #: builtin/mainmenu/store.lua msgid "re-Install" @@ -285,12 +290,11 @@ msgstr "Padėkos" #: builtin/mainmenu/tab_credits.lua msgid "Previous Contributors" -msgstr "" +msgstr "Ankstesni bendradarbiai" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Previous Core Developers" -msgstr "Pagrindiniai kūrėjai" +msgstr "Ankstesni pagrindiniai kūrėjai" #: builtin/mainmenu/tab_mods.lua msgid "Installed Mods:" @@ -325,9 +329,8 @@ msgid "Uninstall selected modpack" msgstr "Pašalinti pasirinktą papildinį" #: builtin/mainmenu/tab_multiplayer.lua -#, fuzzy msgid "Address / Port :" -msgstr "Adresas/Prievadas" +msgstr "Adresas / Prievadas :" #: builtin/mainmenu/tab_multiplayer.lua src/settings_translation_file.cpp msgid "Client" @@ -338,14 +341,12 @@ msgid "Connect" msgstr "Jungtis" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "Creative mode" msgstr "Kūrybinė veiksena" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "Damage enabled" -msgstr "įjungtas" +msgstr "Žalojimas įjungtas" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_server.lua #: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp @@ -353,22 +354,20 @@ msgid "Delete" msgstr "Ištrinti" #: builtin/mainmenu/tab_multiplayer.lua -#, fuzzy msgid "Name / Password :" -msgstr "Vardas/slaptažodis" +msgstr "Vardas / Slaptažodis :" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Public Serverlist" msgstr "Viešų serverių sąrašas" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "PvP enabled" -msgstr "įjungtas" +msgstr "PvP įjungtas" #: builtin/mainmenu/tab_server.lua msgid "Bind Address" -msgstr "" +msgstr "Susieti adresą" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "Configure" @@ -376,7 +375,6 @@ msgstr "Konfigūruoti" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua #: builtin/mainmenu/tab_singleplayer.lua -#, fuzzy msgid "Creative Mode" msgstr "Kūrybinė veiksena" @@ -395,11 +393,11 @@ msgstr "Naujas" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "No world created or selected!" -msgstr "" +msgstr "Nesukurtas ar pasirinktas joks pasaulis!" #: builtin/mainmenu/tab_server.lua msgid "Port" -msgstr "" +msgstr "Prievadas" #: builtin/mainmenu/tab_server.lua msgid "Public" @@ -510,19 +508,16 @@ msgid "The value must be lower than $1." msgstr "" #: builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "Config mods" -msgstr "Konfigūruoti" +msgstr "Konfigūruoti papildinius" #: builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "Main" -msgstr "Pagrindinis meniu" +msgstr "Pagrindinis" #: builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "Start Singleplayer" -msgstr "Žaisti vienam" +msgstr "Atstatyti vieno žaidėjo pasaulį" #: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp msgid "Play" @@ -534,61 +529,60 @@ msgstr "Žaisti vienam" #: builtin/mainmenu/tab_texturepacks.lua msgid "No information available" -msgstr "" +msgstr "Nėra pasiekiamos informacijos" #: builtin/mainmenu/tab_texturepacks.lua +#: builtin/mainmenu/tab_settings.lua msgid "None" -msgstr "" +msgstr "Joks" #: builtin/mainmenu/tab_texturepacks.lua msgid "Select texture pack:" -msgstr "" +msgstr "Pasirinkite tekstūros paketą:" #: builtin/mainmenu/tab_texturepacks.lua msgid "Texturepacks" -msgstr "" +msgstr "Tekstūrų paketai" #: src/client.cpp msgid "Connection timed out." -msgstr "" +msgstr "Baigėsi prijungimo laikas." #: src/client.cpp msgid "Done!" -msgstr "" +msgstr "Atlikta!" #: src/client.cpp msgid "Initializing nodes" -msgstr "" +msgstr "Inicijuojami mazgai" #: src/client.cpp msgid "Initializing nodes..." -msgstr "" +msgstr "Inicijuojami mazgai..." #: src/client.cpp msgid "Item textures..." -msgstr "" +msgstr "Elemento tekstūros..." #: src/client.cpp -#, fuzzy msgid "Loading textures..." -msgstr "Įkeliama..." +msgstr "Įkeliamos tekstūros..." #: src/client.cpp -#, fuzzy msgid "Rebuilding shaders..." -msgstr "Ieškoma adreso..." +msgstr "Perstatomi šešėliavimai..." #: src/client/clientlauncher.cpp msgid "Connection error (timed out?)" -msgstr "" +msgstr "Ryšio klaida (baigėsi prijungimo laikas?)" #: src/client/clientlauncher.cpp msgid "Could not find or load game \"" -msgstr "" +msgstr "Nepavyko rasti ar įkelti žaidimo „" #: src/client/clientlauncher.cpp msgid "Invalid gamespec." -msgstr "" +msgstr "Klaidingi žaidimo nustatymai." #: src/client/clientlauncher.cpp msgid "Main Menu" @@ -597,27 +591,29 @@ msgstr "Pagrindinis meniu" #: src/client/clientlauncher.cpp msgid "No world selected and no address provided. Nothing to do." msgstr "" +"Nepasirinktas joks pasaulis ir nepateiktas joks adresas. Nėra ką daryti." #: src/client/clientlauncher.cpp msgid "Player name too long." -msgstr "" +msgstr "Žaidėjo vardas per ilgas." #: src/client/clientlauncher.cpp msgid "Provided world path doesn't exist: " -msgstr "" +msgstr "Pateiktas pasaulio kelias neegzistuoja: " #: src/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "reikia_atsarginio_šrifto" #: src/game.cpp msgid "" "\n" "Check debug.txt for details." msgstr "" +"\n" +"Patikrinkite debug.txt dėl papildomos informacijos." #: src/game.cpp -#, fuzzy msgid "Change Keys" msgstr "Nustatyti klavišus" @@ -634,12 +630,10 @@ msgid "Continue" msgstr "Tęsti" #: src/game.cpp -#, fuzzy msgid "Creating client..." msgstr "Kuriamas klientas..." #: src/game.cpp -#, fuzzy msgid "Creating server..." msgstr "Kuriamas serveris...." @@ -657,6 +651,17 @@ msgid "" "- Mouse wheel: select item\n" "- T: chat\n" msgstr "" +"Numatytas valdymas:\n" +"- WASD: judėti\n" +"- Tarpas: šokti/lipti\n" +"- Lyg2: leistis/eiti žemyn\n" +"- Q: išmesti elementą\n" +"- I: inventorius\n" +"- Pelė: sukti/žiūrėti\n" +"- Pelės kairys: kasti/smugiuoti\n" +"- Pelės dešinys: padėti/naudoti\n" +"- Pelės ratukas: pasirinkti elementą\n" +"- T: kalbėtis\n" #: src/game.cpp msgid "" @@ -673,6 +678,18 @@ msgid "" "- touch&drag, tap 2nd finger\n" " --> place single item to slot\n" msgstr "" +"Numatytas valdymas:\n" +"Nematomi meniu:\n" +"- vienas palietimas: mygtukas aktyvuoti\n" +"- dvigubas palietimas: padėti/naudoti\n" +"- slinkti pirštu: žvalgytis aplink\n" +"Meniu/Inventorius matomi:\n" +"- dvigubas palietimas (išorėje):\n" +" -->uždaryti\n" +"- liesti rietuvę, liesti angą:\n" +" --> judinti rietuvę\n" +"- liesti&tempti, liesti antru pirštu\n" +" --> padėti vieną elementą į angą\n" #: src/game.cpp msgid "Exit to Menu" @@ -684,28 +701,27 @@ msgstr "Išeiti iš žaidimo" #: src/game.cpp msgid "Item definitions..." -msgstr "" +msgstr "Elemento apibrėžimai..." #: src/game.cpp msgid "KiB/s" -msgstr "" +msgstr "KiB/s" #: src/game.cpp msgid "Media..." -msgstr "" +msgstr "Medija..." #: src/game.cpp msgid "MiB/s" -msgstr "" +msgstr "MiB/s" #: src/game.cpp msgid "Node definitions..." -msgstr "" +msgstr "Mazgo apibrėžimai..." #: src/game.cpp src/guiFormSpecMenu.cpp -#, fuzzy msgid "Proceed" -msgstr "Tęsti" +msgstr "Vykdyti" #: src/game.cpp msgid "Resolving address..." @@ -717,11 +733,11 @@ msgstr "Prisikelti" #: src/game.cpp msgid "Shutting down..." -msgstr "" +msgstr "Išjungiama..." #: src/game.cpp msgid "Sound Volume" -msgstr "" +msgstr "Garso lygis" #: src/game.cpp msgid "You died." @@ -729,15 +745,15 @@ msgstr "Jūs numirėte." #: src/guiFormSpecMenu.cpp msgid "Enter " -msgstr "" +msgstr "Įvesti" #: src/guiFormSpecMenu.cpp msgid "ok" -msgstr "" +msgstr "gerai" #: src/guiKeyChangeMenu.cpp msgid "\"Use\" = climb down" -msgstr "" +msgstr "„Naudoti“ = kopti žemyn" #: src/guiKeyChangeMenu.cpp msgid "Backward" @@ -753,11 +769,11 @@ msgstr "Komanda" #: src/guiKeyChangeMenu.cpp msgid "Console" -msgstr "" +msgstr "Pultas" #: src/guiKeyChangeMenu.cpp msgid "Double tap \"jump\" to toggle fly" -msgstr "" +msgstr "Du kart paliesti „šokti“, kad įjungti skrydį" #: src/guiKeyChangeMenu.cpp msgid "Drop" @@ -781,7 +797,7 @@ msgstr "Klavišas jau naudojamas" #: src/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" -msgstr "" +msgstr "Klavišai. (Jei šis meniu sugenda, pašalinkite įrašus iš minetest.conf)" #: src/guiKeyChangeMenu.cpp src/keycode.cpp msgid "Left" @@ -789,11 +805,11 @@ msgstr "Kairėn" #: src/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Print stacks" -msgstr "" +msgstr "Spausdinti rietuves" #: src/guiKeyChangeMenu.cpp msgid "Range select" -msgstr "" +msgstr "Intervalo pasirinkimas" #: src/guiKeyChangeMenu.cpp src/keycode.cpp msgid "Right" @@ -801,23 +817,23 @@ msgstr "Dešinėn" #: src/guiKeyChangeMenu.cpp msgid "Sneak" -msgstr "" +msgstr "Sėlinti" #: src/guiKeyChangeMenu.cpp msgid "Toggle Cinematic" -msgstr "" +msgstr "Įjungti kinematografinį" #: src/guiKeyChangeMenu.cpp msgid "Toggle fast" -msgstr "" +msgstr "Įjungti greitą" #: src/guiKeyChangeMenu.cpp msgid "Toggle fly" -msgstr "" +msgstr "Įjungti skrydį" #: src/guiKeyChangeMenu.cpp msgid "Toggle noclip" -msgstr "" +msgstr "Įjungti noclip" #: src/guiKeyChangeMenu.cpp msgid "Use" @@ -853,11 +869,11 @@ msgstr "Išeiti" #: src/guiVolumeChange.cpp msgid "Sound Volume: " -msgstr "" +msgstr "Garso lygis: " #: src/keycode.cpp msgid "Apps" -msgstr "" +msgstr "Programos" #: src/keycode.cpp msgid "Attn" @@ -865,15 +881,15 @@ msgstr "" #: src/keycode.cpp msgid "Back" -msgstr "" +msgstr "Atgal" #: src/keycode.cpp msgid "Capital" -msgstr "" +msgstr "Sostinė" #: src/keycode.cpp msgid "Clear" -msgstr "" +msgstr "Išvalyti" #: src/keycode.cpp msgid "Comma" @@ -881,11 +897,11 @@ msgstr "Kablelis" #: src/keycode.cpp msgid "Control" -msgstr "" +msgstr "Valdymas" #: src/keycode.cpp msgid "Convert" -msgstr "" +msgstr "Konvertuoti" #: src/keycode.cpp msgid "CrSel" @@ -897,15 +913,15 @@ msgstr "Žemyn" #: src/keycode.cpp msgid "End" -msgstr "" +msgstr "Baigti" #: src/keycode.cpp msgid "Erase OEF" -msgstr "" +msgstr "Ištrinti OEF" #: src/keycode.cpp msgid "Escape" -msgstr "" +msgstr "Atšaukti" #: src/keycode.cpp msgid "ExSel" @@ -917,7 +933,7 @@ msgstr "Vykdyti" #: src/keycode.cpp msgid "Final" -msgstr "" +msgstr "Galutinis" #: src/keycode.cpp msgid "Help" @@ -925,7 +941,7 @@ msgstr "Pagalba" #: src/keycode.cpp msgid "Home" -msgstr "" +msgstr "Pradžia" #: src/keycode.cpp msgid "Insert" @@ -933,15 +949,15 @@ msgstr "Įterpti" #: src/keycode.cpp msgid "Junja" -msgstr "" +msgstr "Junja" #: src/keycode.cpp msgid "Kana" -msgstr "" +msgstr "Kana" #: src/keycode.cpp msgid "Kanji" -msgstr "" +msgstr "Kanji" #: src/keycode.cpp msgid "Left Button" @@ -953,7 +969,7 @@ msgstr "Kairysis Control" #: src/keycode.cpp msgid "Left Menu" -msgstr "" +msgstr "Kairysis meniu" #: src/keycode.cpp msgid "Left Shift" @@ -961,7 +977,7 @@ msgstr "Kairysis Shift" #: src/keycode.cpp msgid "Left Windows" -msgstr "" +msgstr "Kairieji langai" #: src/keycode.cpp msgid "Menu" @@ -973,15 +989,15 @@ msgstr "Vidurinis mygtukas" #: src/keycode.cpp msgid "Minus" -msgstr "" +msgstr "Minus" #: src/keycode.cpp msgid "Mode Change" -msgstr "" +msgstr "Būsenos keitimas" #: src/keycode.cpp msgid "Next" -msgstr "" +msgstr "Kitas" #: src/keycode.cpp msgid "Nonconvert" @@ -989,67 +1005,67 @@ msgstr "" #: src/keycode.cpp msgid "Num Lock" -msgstr "" +msgstr "Num Lock" #: src/keycode.cpp msgid "Numpad *" -msgstr "" +msgstr "SkaitKlav *" #: src/keycode.cpp msgid "Numpad +" -msgstr "" +msgstr "SkaitKlav +" #: src/keycode.cpp msgid "Numpad -" -msgstr "" +msgstr "SkaitKlav -" #: src/keycode.cpp msgid "Numpad /" -msgstr "" +msgstr "SkaitKlav /" #: src/keycode.cpp msgid "Numpad 0" -msgstr "" +msgstr "SkaitKlav 0" #: src/keycode.cpp msgid "Numpad 1" -msgstr "" +msgstr "SkaitKlav 1" #: src/keycode.cpp msgid "Numpad 2" -msgstr "" +msgstr "SkaitKlav 2" #: src/keycode.cpp msgid "Numpad 3" -msgstr "" +msgstr "SkaitKlav 3" #: src/keycode.cpp msgid "Numpad 4" -msgstr "" +msgstr "SkaitKlav 4" #: src/keycode.cpp msgid "Numpad 5" -msgstr "" +msgstr "SkaitKlav 5" #: src/keycode.cpp msgid "Numpad 6" -msgstr "" +msgstr "SkaitKlav 6" #: src/keycode.cpp msgid "Numpad 7" -msgstr "" +msgstr "SkaitKlav 7" #: src/keycode.cpp msgid "Numpad 8" -msgstr "" +msgstr "SkaitKlav 8" #: src/keycode.cpp msgid "Numpad 9" -msgstr "" +msgstr "SkaitKlav 9" #: src/keycode.cpp msgid "OEM Clear" -msgstr "" +msgstr "OEM valymas" #: src/keycode.cpp msgid "PA1" @@ -1057,11 +1073,11 @@ msgstr "" #: src/keycode.cpp msgid "Pause" -msgstr "" +msgstr "Pause" #: src/keycode.cpp msgid "Period" -msgstr "" +msgstr "Periodas" #: src/keycode.cpp msgid "Plus" @@ -1069,15 +1085,15 @@ msgstr "Plius" #: src/keycode.cpp msgid "Print" -msgstr "" +msgstr "Spausdinti" #: src/keycode.cpp msgid "Prior" -msgstr "" +msgstr "Ankstesnis" #: src/keycode.cpp msgid "Return" -msgstr "" +msgstr "Grįžti" #: src/keycode.cpp msgid "Right Button" @@ -1089,7 +1105,7 @@ msgstr "Dešinysis Control" #: src/keycode.cpp msgid "Right Menu" -msgstr "" +msgstr "Dešinysis meniu" #: src/keycode.cpp msgid "Right Shift" @@ -1097,15 +1113,15 @@ msgstr "Dešinysis Shift" #: src/keycode.cpp msgid "Right Windows" -msgstr "" +msgstr "Dešinieji langai" #: src/keycode.cpp msgid "Scroll Lock" -msgstr "" +msgstr "Scroll Lock" #: src/keycode.cpp msgid "Select" -msgstr "" +msgstr "Pasirinkti" #: src/keycode.cpp msgid "Shift" @@ -1113,11 +1129,11 @@ msgstr "Shift (Lyg2)" #: src/keycode.cpp msgid "Sleep" -msgstr "" +msgstr "Užmigdyti" #: src/keycode.cpp msgid "Snapshot" -msgstr "" +msgstr "Užlaikymas" #: src/keycode.cpp msgid "Space" @@ -1125,7 +1141,7 @@ msgstr "Tarpas" #: src/keycode.cpp msgid "Tab" -msgstr "" +msgstr "Tabuliacija" #: src/keycode.cpp msgid "Up" @@ -1133,14 +1149,13 @@ msgstr "Aukštyn" #: src/keycode.cpp msgid "X Button 1" -msgstr "" +msgstr "X mygtukas 1" #: src/keycode.cpp msgid "X Button 2" -msgstr "" +msgstr "X mygtukas 2" #: src/keycode.cpp -#, fuzzy msgid "Zoom" msgstr "Pritraukti" @@ -2978,8 +2993,9 @@ msgid "Overall scale of parallax occlusion effect." msgstr "" #: src/settings_translation_file.cpp +#: builtin/mainmenu/tab_settings.lua msgid "Parallax Occlusion" -msgstr "" +msgstr "Paralaksinė okliuzija" #: src/settings_translation_file.cpp msgid "Parallax occlusion" @@ -3236,9 +3252,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy +#: builtin/mainmenu/tab_settings.lua msgid "Shaders" -msgstr "Šešėliai" +msgstr "Šešėliavimai" #: src/settings_translation_file.cpp msgid "" @@ -3646,16 +3662,14 @@ msgstr "" msgid "cURL timeout" msgstr "" -#, fuzzy #~ msgid "Opaque Leaves" -#~ msgstr "Nepermatomas vanduo" +#~ msgstr "Nepermatomi lapai" #~ msgid "Opaque Water" #~ msgstr "Nepermatomas vanduo" -#, fuzzy #~ msgid "Reset singleplayer world" -#~ msgstr "Žaisti vienam" +#~ msgstr "Atstatyti vieno žaidėjo pasaulį" #~ msgid "Add mod:" #~ msgstr "Pridėti papildinį:" From 0ae14a506f31811f80f6d9ac99b9bd6174e27a79 Mon Sep 17 00:00:00 2001 From: senpi Date: Sun, 22 Nov 2015 06:05:30 +0100 Subject: [PATCH 37/52] Translated using Weblate (Lojban) Currently translated at 11.4% (90 of 787 strings) --- po/jbo/minetest.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/po/jbo/minetest.po b/po/jbo/minetest.po index e42b19dd7..b851a61f5 100644 --- a/po/jbo/minetest.po +++ b/po/jbo/minetest.po @@ -8,16 +8,16 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-08-15 16:30+0200\n" -"Last-Translator: Wuzzy \n" -"Language-Team: Lojban \n" +"PO-Revision-Date: 2015-11-22 06:05+0000\n" +"Last-Translator: senpi \n" +"Language-Team: Lojban " +"\n" "Language: jbo\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 2.4-dev\n" +"X-Generator: Weblate 2.5-dev\n" #: builtin/fstk/ui.lua msgid "An error occured in a Lua script, such as a mod:" @@ -43,7 +43,7 @@ msgstr "samjongau" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "le samse'u cu pu cpedu lo nu samjongau" #: builtin/mainmenu/common.lua src/game.cpp msgid "Loading..." From d3b0c6dcd5797443c61a1bf92b0ef85c8f20bb6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Mon, 23 Nov 2015 16:45:21 +0100 Subject: [PATCH 38/52] Translated using Weblate (Czech) Currently translated at 49.0% (386 of 787 strings) Squashed two translation commits to one --- po/cs/minetest.po | 216 ++++++++++++++++++++-------------------------- 1 file changed, 94 insertions(+), 122 deletions(-) diff --git a/po/cs/minetest.po b/po/cs/minetest.po index 78f21b709..8d0677d9c 100644 --- a/po/cs/minetest.po +++ b/po/cs/minetest.po @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-10-26 16:53+0200\n" -"Last-Translator: Honza Borovička \n" -"Language-Team: Czech \n" +"PO-Revision-Date: 2015-11-23 17:09+0000\n" +"Last-Translator: Jakub Vaněk \n" +"Language-Team: Czech " +"\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -53,7 +53,7 @@ msgstr "Neshoda verze protokolu. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "Server vyžaduje protokol verze $1. " #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " @@ -418,7 +418,7 @@ msgstr "Spustit hru" #: builtin/mainmenu/tab_settings.lua msgid "\"$1\" is not a valid flag." -msgstr "" +msgstr "\"$1\" není platný příznak." #: builtin/mainmenu/tab_settings.lua msgid "(No description of setting given)" @@ -434,7 +434,7 @@ msgstr "Změnit nastavení kláves" #: builtin/mainmenu/tab_settings.lua msgid "Disabled" -msgstr "Zakázaný" +msgstr "Zakázáno" #: builtin/mainmenu/tab_settings.lua msgid "Edit" @@ -442,11 +442,11 @@ msgstr "Upravit" #: builtin/mainmenu/tab_settings.lua msgid "Enabled" -msgstr "Povolený" +msgstr "Povoleno" #: builtin/mainmenu/tab_settings.lua msgid "Format is 3 numbers separated by commas and inside brackets." -msgstr "" +msgstr "Formát jsou tři čísla uvnitř závorek oddělená čárkami." #: builtin/mainmenu/tab_settings.lua msgid "" @@ -462,7 +462,7 @@ msgstr "Hry" #: builtin/mainmenu/tab_settings.lua msgid "Optionally the lacunarity can be appended with a leading comma." -msgstr "" +msgstr "Lakunarita může být specifikována spolu s předcházející čárkou." #: builtin/mainmenu/tab_settings.lua msgid "Please enter a comma seperated list of flags." @@ -1162,6 +1162,8 @@ msgid "" "0 = parallax occlusion with slope information (faster).\n" "1 = relief mapping (slower, more accurate)." msgstr "" +"0 = paralaxní okluze s informacemi o sklonu (rychlejší).\n" +"1 = mapování reliéfu (pomalejší, ale přesnější)." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1169,7 +1171,7 @@ msgstr "3D mraky" #: src/settings_translation_file.cpp msgid "3D mode" -msgstr "Režim 3D" +msgstr "Režim 3D zobrazení" #: src/settings_translation_file.cpp msgid "" @@ -1181,27 +1183,30 @@ msgid "" "- topbottom: split screen top/bottom.\n" "- sidebyside: split screen side by side." msgstr "" -"Podpora 3D.\n" +"Podpora 3D zobrazení.\n" "V současné době podporovány:\n" -"-none: žádné 3d výstup.\n" -"-anaglyf: azurová/purpurová barva 3d.\n" -"-prokládaný: lichá/sudá linie založené polarizace displejem.\n" -"-nahoře a dole: rozdělení obrazovky prvních či posledních položek.\n" -"-vedle sebe: rozdělené obrazovce vedle sebe." +"- none: žádný 3D výstup.\n" +"- anaglyph: azurová/purpurová barva 3D.\n" +"- interlaced: pro polarizaci ve stylu lichý/sudý řádek.\n" +"- topbottom: rozdělení obrazovky na horní a dolní část.\n" +"- sidebyside: rozdělené obrazovky na levou a pravou část." #: src/settings_translation_file.cpp msgid "" "A chosen map seed for a new map, leave empty for random.\n" "Will be overridden when creating a new world in the main menu." msgstr "" +"Zvolený seed pro novou mapu, nechte prázdné pro vygenerování náhodného seedu." +"\n" +"Toto bude přepsáno při vytváření nové mapy přes hlavní menu." #: src/settings_translation_file.cpp msgid "A message to be displayed to all clients when the server crashes." -msgstr "" +msgstr "Zpráva, která se zobrazí všem klientům, když server spadne." #: src/settings_translation_file.cpp msgid "A message to be displayed to all clients when the server shuts down." -msgstr "" +msgstr "Zpráva, která se zobrazí všem klientům, když se server vypne." #: src/settings_translation_file.cpp msgid "Absolute limit of emerge queues" @@ -1209,7 +1214,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Acceleration in air" -msgstr "" +msgstr "Zrychlení ve vzduchu" #: src/settings_translation_file.cpp msgid "Active block range" @@ -1240,11 +1245,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Advanced" -msgstr "" +msgstr "Pokročilé" #: src/settings_translation_file.cpp msgid "Always fly and fast" -msgstr "" +msgstr "Vždy mít zapnuté létání a turbo" #: src/settings_translation_file.cpp msgid "Ambient occlusion gamma" @@ -1279,7 +1284,7 @@ msgstr "Vzad" #: src/settings_translation_file.cpp msgid "Basic" -msgstr "" +msgstr "Základní" #: src/settings_translation_file.cpp msgid "Bilinear filtering" @@ -1291,7 +1296,7 @@ msgstr "Svázat adresu" #: src/settings_translation_file.cpp msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" +msgstr "Bitová hloubka (bity na pixel) v celoobrazovkovém režimu." #: src/settings_translation_file.cpp msgid "Build inside player" @@ -1339,19 +1344,19 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Client and Server" -msgstr "" +msgstr "Klient a Server" #: src/settings_translation_file.cpp msgid "Climbing speed" -msgstr "" +msgstr "Rychlost šplhání" #: src/settings_translation_file.cpp msgid "Cloud height" -msgstr "" +msgstr "Výška mraků" #: src/settings_translation_file.cpp msgid "Cloud radius" -msgstr "" +msgstr "Poloměr mraků" #: src/settings_translation_file.cpp msgid "Clouds" @@ -1367,7 +1372,7 @@ msgstr "Mraky v menu" #: src/settings_translation_file.cpp msgid "Colored fog" -msgstr "" +msgstr "Barevná mlha" #: src/settings_translation_file.cpp msgid "" @@ -1454,7 +1459,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "DPI" -msgstr "" +msgstr "DPI" #: src/settings_translation_file.cpp msgid "Damage" @@ -1662,7 +1667,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "FSAA" -msgstr "" +msgstr "FSAA" #: src/settings_translation_file.cpp msgid "Fall bobbing" @@ -1746,7 +1751,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "" +msgstr "Mlha" #: src/settings_translation_file.cpp msgid "Fog toggle key" @@ -1754,15 +1759,15 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Font path" -msgstr "" +msgstr "Cesta k písmu" #: src/settings_translation_file.cpp msgid "Font shadow" -msgstr "" +msgstr "Stín písma" #: src/settings_translation_file.cpp msgid "Font shadow alpha" -msgstr "" +msgstr "Průhlednost stínu písma" #: src/settings_translation_file.cpp msgid "Font shadow alpha (opaqueness, between 0 and 255)." @@ -1774,7 +1779,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Font size" -msgstr "" +msgstr "Velikost písma" #: src/settings_translation_file.cpp msgid "Forward key" @@ -1782,7 +1787,7 @@ msgstr "Vpřed" #: src/settings_translation_file.cpp msgid "Freetype fonts" -msgstr "" +msgstr "Písma Freetype" #: src/settings_translation_file.cpp msgid "" @@ -1802,15 +1807,15 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Full screen" -msgstr "" +msgstr "Celá obrazovka" #: src/settings_translation_file.cpp msgid "Full screen BPP" -msgstr "" +msgstr "Bitová hloubka v celoobrazovkovém režimu" #: src/settings_translation_file.cpp msgid "Fullscreen mode." -msgstr "" +msgstr "Celoobrazovkový režim." #: src/settings_translation_file.cpp msgid "GUI scaling" @@ -1826,7 +1831,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Gamma" -msgstr "" +msgstr "Gamma" #: src/settings_translation_file.cpp msgid "Generate normalmaps" @@ -1847,7 +1852,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Gravity" -msgstr "" +msgstr "Gravitace" #: src/settings_translation_file.cpp msgid "HUD toggle key" @@ -1901,15 +1906,15 @@ msgstr "" #: src/settings_translation_file.cpp msgid "IPv6" -msgstr "" +msgstr "IPv6" #: src/settings_translation_file.cpp msgid "IPv6 server" -msgstr "" +msgstr "IPv6 server" #: src/settings_translation_file.cpp msgid "IPv6 support." -msgstr "" +msgstr "Podpora IPv6." #: src/settings_translation_file.cpp msgid "" @@ -2272,7 +2277,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Language" -msgstr "" +msgstr "Jazyk" #: src/settings_translation_file.cpp msgid "Leaves style" @@ -2547,14 +2552,12 @@ msgid "Mapgen heat blend noise parameters" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen name" -msgstr "Generátor mapy" +msgstr "Jméno generátoru mapy" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen v5" -msgstr "Generátor mapy" +msgstr "Mapgen v5" #: src/settings_translation_file.cpp msgid "Mapgen v5 cave1 noise parameters" @@ -2577,9 +2580,8 @@ msgid "Mapgen v5 height noise parameters" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen v6" -msgstr "Generátor mapy" +msgstr "Mapgen v6" #: src/settings_translation_file.cpp msgid "Mapgen v6 apple trees noise parameters" @@ -2638,9 +2640,8 @@ msgid "Mapgen v6 trees noise parameters" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen v7" -msgstr "Generátor mapy" +msgstr "Mapgen v7" #: src/settings_translation_file.cpp msgid "Mapgen v7 cave1 noise parameters" @@ -2802,9 +2803,8 @@ msgid "Maxmimum objects per block" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Menus" -msgstr "Nabídka" +msgstr "Nabídky" #: src/settings_translation_file.cpp msgid "Mesh cache" @@ -2842,9 +2842,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mipmapping" -msgstr "Mip-Mapování" +msgstr "Mip-mapování" #: src/settings_translation_file.cpp msgid "Mod profiling" @@ -2935,9 +2934,8 @@ msgid "Noclip key" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Node highlighting" -msgstr "Zvýraznění bloků" +msgstr "Zvýraznění označených bloků" #: src/settings_translation_file.cpp msgid "Noise parameters for biome API temperature, humidity and biome blend." @@ -3031,7 +3029,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Physics" -msgstr "" +msgstr "Fyzika" #: src/settings_translation_file.cpp msgid "" @@ -3040,9 +3038,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Player name" -msgstr "Jméno hráče je příliš dlouhé." +msgstr "Jméno hráče" #: src/settings_translation_file.cpp msgid "Player transfer distance" @@ -3050,7 +3047,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Player versus Player" -msgstr "" +msgstr "Hráč proti hráči (PvP)" #: src/settings_translation_file.cpp msgid "" @@ -3067,9 +3064,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Preload inventory textures" -msgstr "Načítám textury..." +msgstr "Přednačíst inventářové textury" #: src/settings_translation_file.cpp msgid "Prevent mods from doing insecure things like running shell commands." @@ -3096,29 +3092,27 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Random input" -msgstr "" +msgstr "Náhodný vstup" #: src/settings_translation_file.cpp -#, fuzzy msgid "Range select key" -msgstr "Změna dohledu" +msgstr "Klávesa pro označení většího počtu věcí" #: src/settings_translation_file.cpp msgid "Remote media" -msgstr "" +msgstr "Vzdálená média" #: src/settings_translation_file.cpp msgid "Remote port" -msgstr "" +msgstr "Vzdálený port" #: src/settings_translation_file.cpp msgid "Replaces the default main menu with a custom one." msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Right key" -msgstr "Pravá klávesa Menu" +msgstr "Klávesa doprava" #: src/settings_translation_file.cpp msgid "Rightclick repetition interval" @@ -3130,7 +3124,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Round minimap" -msgstr "" +msgstr "Kulatá minimapa" #: src/settings_translation_file.cpp msgid "Save the map received by the client on disk." @@ -3151,24 +3145,23 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Screen height" -msgstr "" +msgstr "Výška obrazovky" #: src/settings_translation_file.cpp msgid "Screen width" -msgstr "" +msgstr "Šířka obrazovky" #: src/settings_translation_file.cpp -#, fuzzy msgid "Screenshot" -msgstr "Snapshot" +msgstr "Snímek obrazovky" #: src/settings_translation_file.cpp msgid "Screenshot folder" -msgstr "" +msgstr "Složka se snímky obrazovky" #: src/settings_translation_file.cpp msgid "Security" -msgstr "" +msgstr "Zabezpečení" #: src/settings_translation_file.cpp msgid "See http://www.sqlite.org/pragma.html#pragma_synchronous" @@ -3192,39 +3185,32 @@ msgid "Server / Singleplayer" msgstr "Start místní hry" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server URL" -msgstr "Server" +msgstr "URL serveru" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server address" -msgstr "Port serveru" +msgstr "Adresa serveru" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server description" -msgstr "Port serveru" +msgstr "Popis serveru" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server name" -msgstr "Server" +msgstr "Jméno serveru" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server port" msgstr "Port serveru" #: src/settings_translation_file.cpp -#, fuzzy msgid "Serverlist URL" -msgstr "Seznam veřejných serverů" +msgstr "Adresa seznamu veřejných serverů" #: src/settings_translation_file.cpp -#, fuzzy msgid "Serverlist file" -msgstr "Seznam veřejných serverů" +msgstr "Soubor se seznamem veřejných serverů" #: src/settings_translation_file.cpp msgid "" @@ -3267,7 +3253,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Show debug info" -msgstr "" +msgstr "Zobrazit ladící informace" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -3280,7 +3266,6 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Smooth lighting" msgstr "Plynulé osvětlení" @@ -3299,13 +3284,12 @@ msgid "Smooths rotation of camera. 0 to disable." msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Sneak key" -msgstr "Plížit se" +msgstr "Klávesa plížení" #: src/settings_translation_file.cpp msgid "Sound" -msgstr "" +msgstr "Zvuk" #: src/settings_translation_file.cpp msgid "" @@ -3422,9 +3406,8 @@ msgid "Tooltip delay" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Trilinear filtering" -msgstr "Trilineární filtr" +msgstr "Trilineární filtrování" #: src/settings_translation_file.cpp msgid "" @@ -3466,9 +3449,8 @@ msgid "Use bilinear filtering when scaling textures." msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Use key" -msgstr "stiskni klávesu" +msgstr "Klávesa použít" #: src/settings_translation_file.cpp msgid "Use mip mapping to scale textures. May slightly increase performance." @@ -3479,13 +3461,12 @@ msgid "Use trilinear filtering when scaling textures." msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Useful for mod developers." -msgstr "Bývalí klíčoví vývojáři" +msgstr "Užitečné pro vývojáře modů." #: src/settings_translation_file.cpp msgid "V-Sync" -msgstr "" +msgstr "Vertikální synchronizace" #: src/settings_translation_file.cpp msgid "Vertical initial window size." @@ -3501,7 +3482,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Video driver" -msgstr "" +msgstr "Ovladač grafiky" #: src/settings_translation_file.cpp msgid "View bobbing" @@ -3524,14 +3505,12 @@ msgid "Viewing range minimum" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Volume" msgstr "Hlasitost" #: src/settings_translation_file.cpp -#, fuzzy msgid "Walking speed" -msgstr "Vlnění listů" +msgstr "Rychlost chůze" #: src/settings_translation_file.cpp msgid "Wanted FPS" @@ -3546,39 +3525,32 @@ msgid "Water surface level of the world." msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving Nodes" -msgstr "Vlnění listů" +msgstr "Vlnění bloků" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving leaves" msgstr "Vlnění listů" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving plants" msgstr "Vlnění rostlin" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water" msgstr "Vlnění vody" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water height" -msgstr "Vlnění vody" +msgstr "Výška vodních vln" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water length" -msgstr "Vlnění vody" +msgstr "Délka vodních vln" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water speed" -msgstr "Vlnění vody" +msgstr "Rychlost vodních vln" #: src/settings_translation_file.cpp msgid "" @@ -3666,11 +3638,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "cURL parallel limit" -msgstr "" +msgstr "cURL limit paralelních stahování" #: src/settings_translation_file.cpp msgid "cURL timeout" -msgstr "" +msgstr "cURL timeout" #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Jste si jisti, že chcete resetovat místní svět?" From a8a4a66b83de2492c31061dfa5600d1abf560bc7 Mon Sep 17 00:00:00 2001 From: Rui Date: Mon, 23 Nov 2015 07:16:33 +0100 Subject: [PATCH 39/52] Translated using Weblate (Japanese) Currently translated at 39.8% (314 of 787 strings) --- po/ja/minetest.po | 108 +++++++++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 45 deletions(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index fdb72fdfd..c98ebec5a 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-12 02:44+0000\n" -"Last-Translator: nobb \n" +"PO-Revision-Date: 2015-11-23 07:16+0000\n" +"Last-Translator: Rui \n" "Language-Team: Japanese " "\n" "Language: ja\n" @@ -36,7 +36,7 @@ msgstr "再接続" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "サーバが再接続を要求しました:" +msgstr "サーバーが再接続を要求しました:" #: builtin/mainmenu/common.lua src/game.cpp msgid "Loading..." @@ -86,7 +86,7 @@ msgstr "有効化" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "すべて有効化" +msgstr "全て有効化" #: builtin/mainmenu/dlg_config_world.lua msgid "" @@ -123,7 +123,7 @@ msgstr "有効化" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "ワールド名\"$1\"はすでに使用されています" +msgstr "ワールド名\"$1\"は既に使用されています" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" @@ -131,9 +131,10 @@ msgstr "作成" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a subgame, such as minetest_game, from minetest.net" -msgstr "minetest.netからminetest_gameのゲームをダウンロードしてください" +msgstr "minetest.netからminetest_gameなどのサブゲームをダウンロードしてください" #: builtin/mainmenu/dlg_create_world.lua +#, fuzzy msgid "Download one from minetest.net" msgstr "minetest.netから再ダウンロードしてください" @@ -155,7 +156,7 @@ msgstr "Seed値" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." -msgstr "警告: Minimal development testは開発者のためのゲームです。" +msgstr "警告: Minimal development testは開発者用です。" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -163,7 +164,7 @@ msgstr "ワールド名" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no subgames installed." -msgstr "ゲームがインストールされていません。" +msgstr "サブゲームがインストールされていません。" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Are you sure you want to delete \"$1\"?" @@ -171,11 +172,11 @@ msgstr "本当に\"$1\"を削除してよろしいですか?" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Modmgr: failed to delete \"$1\"" -msgstr "Modマネージャ: \"$1\"の削除に失敗しました" +msgstr "Modマネージャー: \"$1\"の削除に失敗しました" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Modmgr: invalid modpath \"$1\"" -msgstr "Modマネージャ: Mod\"$1\"の場所が不明です" +msgstr "Modマネージャー: Mod\"$1\"の場所が不明です" #: builtin/mainmenu/dlg_delete_mod.lua msgid "No of course not!" @@ -199,7 +200,7 @@ msgstr "決定" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" -msgstr "名前を変更:" +msgstr "Modパック名を変更:" #: builtin/mainmenu/modmgr.lua msgid "" @@ -229,7 +230,7 @@ msgstr "" #: builtin/mainmenu/store.lua msgid "Close store" -msgstr "閉じる" +msgstr "ストアを閉じる" #: builtin/mainmenu/store.lua msgid "Downloading $1, please wait..." @@ -269,7 +270,7 @@ msgstr "再インストール" #: builtin/mainmenu/tab_credits.lua msgid "Active Contributors" -msgstr "開発協力者" +msgstr "活動中の開発協力者" #: builtin/mainmenu/tab_credits.lua msgid "Core Developers" @@ -357,6 +358,7 @@ msgid "PvP enabled" msgstr "PvP有効" #: builtin/mainmenu/tab_server.lua +#, fuzzy msgid "Bind Address" msgstr "バインドアドレス" @@ -411,6 +413,7 @@ msgid "Start Game" msgstr "ゲームスタート" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "\"$1\" is not a valid flag." msgstr "\"$1\"は有効なフラグではありません。" @@ -439,10 +442,12 @@ msgid "Enabled" msgstr "有効" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "Format is 3 numbers separated by commas and inside brackets." msgstr "書式は、コンマとかっこで区切られた 3 つの数字です。" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "" "Format: , , (, , ), , " ", " @@ -460,6 +465,7 @@ msgid "Optionally the lacunarity can be appended with a leading comma." msgstr "空隙性随意大手カンマを付加することができます。" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "Please enter a comma seperated list of flags." msgstr "フラグのリストはカンマで区切って入力してください。" @@ -481,6 +487,7 @@ msgid "Restore Default" msgstr "初期設定に戻す" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "Select path" msgstr "ファイルパスを選択" @@ -495,7 +502,7 @@ msgstr "技術名称を表示" #: builtin/mainmenu/tab_settings.lua msgid "The value must be greater than $1." -msgstr "$1より大きな値でなければいけません。" +msgstr "$1より大きい値でなければいけません。" #: builtin/mainmenu/tab_settings.lua msgid "The value must be lower than $1." @@ -547,11 +554,11 @@ msgstr "完了!" #: src/client.cpp msgid "Initializing nodes" -msgstr "ノードを設定中" +msgstr "ノードを初期化中" #: src/client.cpp msgid "Initializing nodes..." -msgstr "ノードの設定中..." +msgstr "ノードを初期化中..." #: src/client.cpp msgid "Item textures..." @@ -559,21 +566,23 @@ msgstr "テクスチャを設定中..." #: src/client.cpp msgid "Loading textures..." -msgstr "テクスチャ読み込み中..." +msgstr "テクスチャを読み込み中..." #: src/client.cpp msgid "Rebuilding shaders..." -msgstr "シェーダー構築中..." +msgstr "シェーダーを再構築中..." #: src/client/clientlauncher.cpp msgid "Connection error (timed out?)" -msgstr "接続失敗(またはタイムアウト)" +msgstr "接続エラー (タイムアウト?)" #: src/client/clientlauncher.cpp +#, fuzzy msgid "Could not find or load game \"" -msgstr "ゲーム\"の読み込みができません" +msgstr "以下のゲームの読み込みができません\"" #: src/client/clientlauncher.cpp +#, fuzzy msgid "Invalid gamespec." msgstr "無効なgamespecです。" @@ -582,14 +591,16 @@ msgid "Main Menu" msgstr "メインメニュー" #: src/client/clientlauncher.cpp +#, fuzzy msgid "No world selected and no address provided. Nothing to do." msgstr "ワールドが選択されていないアドレスです。続行できません。" #: src/client/clientlauncher.cpp msgid "Player name too long." -msgstr "名前が長過ぎます。" +msgstr "プレイヤー名が長過ぎます。" #: src/client/clientlauncher.cpp +#, fuzzy msgid "Provided world path doesn't exist: " msgstr "ワールドが存在しません: " @@ -603,7 +614,7 @@ msgid "" "Check debug.txt for details." msgstr "" "\n" -"詳細はdebug.txtをご覧ください。" +"詳細はdebug.txtを確認してください。" #: src/game.cpp msgid "Change Keys" @@ -615,7 +626,7 @@ msgstr "パスワード変更" #: src/game.cpp msgid "Connecting to server..." -msgstr "サーバー接続中..." +msgstr "サーバーに接続中..." #: src/game.cpp msgid "Continue" @@ -623,11 +634,11 @@ msgstr "再開" #: src/game.cpp msgid "Creating client..." -msgstr "クライアント起動中..." +msgstr "クライアントを起動中..." #: src/game.cpp msgid "Creating server..." -msgstr "サーバー起動中..." +msgstr "サーバーを起動中..." #: src/game.cpp msgid "" @@ -643,19 +654,20 @@ msgid "" "- Mouse wheel: select item\n" "- T: chat\n" msgstr "" -"基本操作:\n" +"デフォルトの操作:\n" "- WASD: 移動\n" -"- スペース: ジャンプ、登る\n" -"- Shift: スニーク、降りる\n" +"- スペース: ジャンプ/登る\n" +"- Shift: スニーク/降りる\n" "- Q: アイテムを落とす\n" "- I: インベントリ\n" "- マウス: 見回す\n" -"- 左クリック: 破壊、パンチ\n" -"- 右クリック: 設置、使用\n" -"- ホイール: アイテム選択\n" -"- T: チャット画面\n" +"- 左クリック: 破壊/パンチ\n" +"- 右クリック: 設置/使用\n" +"- マウスホイール: アイテム選択\n" +"- T: チャット\n" #: src/game.cpp +#, fuzzy msgid "" "Default Controls:\n" "No menu visible:\n" @@ -670,7 +682,7 @@ msgid "" "- touch&drag, tap 2nd finger\n" " --> place single item to slot\n" msgstr "" -"基本操作:\n" +"デフォルトの操作:\n" "タッチ操作:\n" "- シングルタップ: ブロックの破壊\n" "- ダブルタップ: 設置、使用\n" @@ -693,7 +705,7 @@ msgstr "終了" #: src/game.cpp msgid "Item definitions..." -msgstr "アイテム定義中..." +msgstr "アイテムを定義中..." #: src/game.cpp msgid "KiB/s" @@ -709,7 +721,7 @@ msgstr "MB/秒" #: src/game.cpp msgid "Node definitions..." -msgstr "ノード定義中..." +msgstr "ノードを定義中..." #: src/game.cpp src/guiFormSpecMenu.cpp msgid "Proceed" @@ -717,7 +729,7 @@ msgstr "決定" #: src/game.cpp msgid "Resolving address..." -msgstr "アドレス解決中..." +msgstr "アドレスを解決中..." #: src/game.cpp msgid "Respawn" @@ -789,9 +801,7 @@ msgstr "キーが重複しています" #: src/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" -msgstr "" -"操作設定です。(変更に失敗した場合、minetest.confから該当する設定を削除してく" -"ださい)" +msgstr "操作設定です。 (変更に失敗した場合、minetest.confから該当する設定を削除してください)" #: src/guiKeyChangeMenu.cpp src/keycode.cpp msgid "Left" @@ -883,15 +893,15 @@ msgstr "Caps Lock" #: src/keycode.cpp msgid "Clear" -msgstr "消す" +msgstr "クリア" #: src/keycode.cpp msgid "Comma" -msgstr "読点" +msgstr "," #: src/keycode.cpp msgid "Control" -msgstr "コントロール" +msgstr "Ctrl" #: src/keycode.cpp msgid "Convert" @@ -907,7 +917,7 @@ msgstr "下" #: src/keycode.cpp msgid "End" -msgstr "終了" +msgstr "エンド" #: src/keycode.cpp msgid "Erase OEF" @@ -1161,13 +1171,14 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D clouds" -msgstr "立体雲" +msgstr "立体な雲" #: src/settings_translation_file.cpp msgid "3D mode" msgstr "3Dモード" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "3D support.\n" "Currently supported:\n" @@ -1177,6 +1188,13 @@ msgid "" "- topbottom: split screen top/bottom.\n" "- sidebyside: split screen side by side." msgstr "" +"3Dサポート\n" +"現在サポートしている:\n" +"- none: 3D出力なし\n" +"- anaglyph: cyan/magenta color 3d.\n" +"- interlaced: odd/even line based polarisation screen support.\n" +"- topbottom: split screen top/bottom.\n" +"- sidebyside: split screen side by side." #: src/settings_translation_file.cpp msgid "" @@ -3507,7 +3525,7 @@ msgstr "音量" #: src/settings_translation_file.cpp msgid "Walking speed" -msgstr "歩き速度" +msgstr "歩く速度" #: src/settings_translation_file.cpp msgid "Wanted FPS" From f5597c5f9075759354dfdb191d7ddd74603ac480 Mon Sep 17 00:00:00 2001 From: ChaosWormz Date: Wed, 25 Nov 2015 08:42:11 +0100 Subject: [PATCH 40/52] Translated using Weblate (Hebrew) Currently translated at 3.1% (25 of 787 strings) --- po/he/minetest.po | 56 +++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/po/he/minetest.po b/po/he/minetest.po index 7c9e8e95f..036978fe0 100644 --- a/po/he/minetest.po +++ b/po/he/minetest.po @@ -10,8 +10,8 @@ msgstr "" "POT-Creation-Date: 2015-11-08 21:23+0100\n" "PO-Revision-Date: 2015-10-26 16:22+0200\n" "Last-Translator: ChaosWormz \n" -"Language-Team: Hebrew \n" +"Language-Team: Hebrew " +"\n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -78,7 +78,6 @@ msgid "Cancel" msgstr "ביטול" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_mods.lua -#, fuzzy msgid "Depends:" msgstr "תלוי ב:" @@ -91,7 +90,6 @@ msgid "Enable MP" msgstr "" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "Enable all" msgstr "אפשר בכל" @@ -110,7 +108,6 @@ msgid "Hide mp content" msgstr "" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "Mod:" msgstr "מוד:" @@ -124,7 +121,6 @@ msgid "World:" msgstr "עולם:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "enabled" msgstr "מופעל" @@ -201,7 +197,6 @@ msgid "No" msgstr "לא" #: builtin/mainmenu/dlg_rename_modpack.lua src/keycode.cpp -#, fuzzy msgid "Accept" msgstr "קבל" @@ -281,7 +276,7 @@ msgstr "" #: builtin/mainmenu/tab_credits.lua msgid "Credits" -msgstr "" +msgstr "קרדיטים" #: builtin/mainmenu/tab_credits.lua msgid "Previous Contributors" @@ -301,7 +296,7 @@ msgstr "" #: builtin/mainmenu/tab_mods.lua builtin/mainmenu/tab_settings.lua msgid "Mods" -msgstr "" +msgstr "מודים" #: builtin/mainmenu/tab_mods.lua msgid "No mod description available" @@ -325,16 +320,15 @@ msgstr "" #: builtin/mainmenu/tab_multiplayer.lua msgid "Address / Port :" -msgstr "" +msgstr "כתובת / פורט :" #: builtin/mainmenu/tab_multiplayer.lua src/settings_translation_file.cpp -#, fuzzy msgid "Client" msgstr "קלינט" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Connect" -msgstr "" +msgstr "התחבר" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Creative mode" @@ -347,19 +341,19 @@ msgstr "" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_server.lua #: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp msgid "Delete" -msgstr "" +msgstr "מחק" #: builtin/mainmenu/tab_multiplayer.lua msgid "Name / Password :" -msgstr "" +msgstr "שם/סיסמה :" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Public Serverlist" -msgstr "" +msgstr "רשימת שרתים פומבי" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "PvP enabled" -msgstr "" +msgstr "PvP אפשר" #: builtin/mainmenu/tab_server.lua msgid "Bind Address" @@ -367,45 +361,45 @@ msgstr "" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "Configure" -msgstr "" +msgstr "קביעת תצורה" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua #: builtin/mainmenu/tab_singleplayer.lua msgid "Creative Mode" -msgstr "" +msgstr "משחק יצירתי" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua #: builtin/mainmenu/tab_singleplayer.lua msgid "Enable Damage" -msgstr "" +msgstr "אפשר נזק" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua msgid "Name/Password" -msgstr "" +msgstr "שם/סיסמה" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "New" -msgstr "" +msgstr "חדש" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "No world created or selected!" -msgstr "" +msgstr "אין עולם נוצר או נבחר!" #: builtin/mainmenu/tab_server.lua msgid "Port" -msgstr "" +msgstr "פורט" #: builtin/mainmenu/tab_server.lua msgid "Public" -msgstr "" +msgstr "ציבורי" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "Select World:" -msgstr "" +msgstr "בחר עולם:" #: builtin/mainmenu/tab_server.lua msgid "Server" -msgstr "" +msgstr "שרת" #: builtin/mainmenu/tab_server.lua msgid "Server Port" @@ -413,7 +407,7 @@ msgstr "" #: builtin/mainmenu/tab_server.lua msgid "Start Game" -msgstr "" +msgstr "התחל משחק" #: builtin/mainmenu/tab_settings.lua msgid "\"$1\" is not a valid flag." @@ -455,7 +449,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Games" -msgstr "" +msgstr "משחקים" #: builtin/mainmenu/tab_settings.lua msgid "Optionally the lacunarity can be appended with a leading comma." @@ -515,7 +509,7 @@ msgstr "" #: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp msgid "Play" -msgstr "" +msgstr "שחק" #: builtin/mainmenu/tab_singleplayer.lua msgid "Singleplayer" @@ -535,7 +529,7 @@ msgstr "" #: builtin/mainmenu/tab_texturepacks.lua msgid "Texturepacks" -msgstr "" +msgstr "חבילות מרקם" #: src/client.cpp msgid "Connection timed out." @@ -3126,7 +3120,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Server / Singleplayer" -msgstr "" +msgstr "שרת" #: src/settings_translation_file.cpp msgid "Server URL" From c97f7d35e30fcebcef335011f6042393dbf35906 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Thu, 10 Dec 2015 08:13:11 +0100 Subject: [PATCH 41/52] Translated using Weblate (Chinese (Taiwan)) Currently translated at 59.7% (470 of 787 strings) --- po/zh_TW/minetest.po | 91 ++++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/po/zh_TW/minetest.po b/po/zh_TW/minetest.po index 43ac23f16..ddbc1e3d1 100644 --- a/po/zh_TW/minetest.po +++ b/po/zh_TW/minetest.po @@ -8,10 +8,10 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-08 10:49+0000\n" +"PO-Revision-Date: 2015-12-10 08:13+0000\n" "Last-Translator: Jeff Huang \n" -"Language-Team: Chinese (Taiwan) \n" +"Language-Team: Chinese (Taiwan) " +"\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -415,7 +415,7 @@ msgstr "開始遊戲" #: builtin/mainmenu/tab_settings.lua msgid "\"$1\" is not a valid flag." -msgstr "" +msgstr "「$1」不是一個有效的旗標。" #: builtin/mainmenu/tab_settings.lua msgid "(No description of setting given)" @@ -443,7 +443,7 @@ msgstr "已啟用" #: builtin/mainmenu/tab_settings.lua msgid "Format is 3 numbers separated by commas and inside brackets." -msgstr "" +msgstr "格式為 3 個在括號內的以逗號分離的數字。" #: builtin/mainmenu/tab_settings.lua msgid "" @@ -1432,12 +1432,11 @@ msgstr "" "範例:72 = 20分鐘,360 = 4分鐘,1 = 24小時,0 = 日/夜/一切保持不變。" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Controls size of deserts and beaches in Mapgen v6.\n" "When snowbiomes are enabled 'mgv6_freq_desert' is ignored." msgstr "" -"控制在 Mapgen V6 中的沙漠與沙灘大小。\n" +"控制在 Mapgen v6 中的沙漠與沙灘大小。\n" "當 snowbiomes 啟用時「mgv6_freq_desert」會被忽略。" #: src/settings_translation_file.cpp @@ -1593,6 +1592,9 @@ msgid "" "Note that this is not quite optimized and that smooth lighting on the\n" "water surface doesn't work with this." msgstr "" +"啟用略低的的水面,所以它就不會完全「填滿」節點。\n" +"注意,這個功能並未最佳化完成,水面的\n" +"柔和光功能無法與此功能一同運作。" #: src/settings_translation_file.cpp msgid "Enable mod security" @@ -1724,39 +1726,41 @@ msgstr "後備字型大小" #: src/settings_translation_file.cpp msgid "Fast key" -msgstr "" +msgstr "快速按鍵" #: src/settings_translation_file.cpp msgid "Fast mode acceleration" -msgstr "" +msgstr "快速模式加速" #: src/settings_translation_file.cpp msgid "Fast mode speed" -msgstr "" +msgstr "快速模式速度" #: src/settings_translation_file.cpp msgid "Fast movement" -msgstr "" +msgstr "快速移動" #: src/settings_translation_file.cpp msgid "" "Fast movement (via use key).\n" "This requires the \"fast\" privilege on the server." msgstr "" +"快速移動(透過使用鍵)。\n" +"這需要伺服器上的「快速」特權。" #: src/settings_translation_file.cpp msgid "Field of view" -msgstr "" +msgstr "視野" #: src/settings_translation_file.cpp msgid "Field of view in degrees." -msgstr "" +msgstr "以度計算的視野。" #: src/settings_translation_file.cpp msgid "" "File in client/serverlist/ that contains your favorite servers displayed in " "the Multiplayer Tab." -msgstr "" +msgstr "在 客戶端/伺服器清單/ 中的檔案包含了顯示在多人遊戲分頁中您最愛的伺服器。" #: src/settings_translation_file.cpp msgid "" @@ -1765,6 +1769,10 @@ msgid "" "light edge to transparent textures. Apply this filter to clean that up\n" "at texture load time." msgstr "" +"已過濾的材質會與完全透明的鄰居混合 RGB 值,\n" +"PNG 最佳化器通常會丟棄,有時候會導致透明材質\n" +"會有黑邊或亮邊。套用這個過濾器以在材質載入時\n" +"清理這些東西。" #: src/settings_translation_file.cpp msgid "Filtering" @@ -1772,47 +1780,47 @@ msgstr "過濾器" #: src/settings_translation_file.cpp msgid "Fixed map seed" -msgstr "" +msgstr "固定的地圖種子" #: src/settings_translation_file.cpp msgid "Fly key" -msgstr "" +msgstr "飛行按鍵" #: src/settings_translation_file.cpp msgid "Flying" -msgstr "" +msgstr "飛行" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "" +msgstr "霧" #: src/settings_translation_file.cpp msgid "Fog toggle key" -msgstr "" +msgstr "霧切換鍵" #: src/settings_translation_file.cpp msgid "Font path" -msgstr "" +msgstr "字型路徑" #: src/settings_translation_file.cpp msgid "Font shadow" -msgstr "" +msgstr "字型陰影" #: src/settings_translation_file.cpp msgid "Font shadow alpha" -msgstr "" +msgstr "字型陰影 alpha 值" #: src/settings_translation_file.cpp msgid "Font shadow alpha (opaqueness, between 0 and 255)." -msgstr "" +msgstr "字型陰影 alpha(不透明度,介於 0 到 255)。" #: src/settings_translation_file.cpp msgid "Font shadow offset, if 0 then shadow will not be drawn." -msgstr "" +msgstr "字型陰影偏移,若為 0 則陰影將不會被繪製。" #: src/settings_translation_file.cpp msgid "Font size" -msgstr "" +msgstr "字型大小" #: src/settings_translation_file.cpp msgid "Forward key" @@ -1820,39 +1828,39 @@ msgstr "前進鍵" #: src/settings_translation_file.cpp msgid "Freetype fonts" -msgstr "" +msgstr "Freetype 字型" #: src/settings_translation_file.cpp msgid "" "From how far blocks are generated for clients, stated in mapblocks (16 " "nodes)." -msgstr "" +msgstr "要在客戶端上從多遠的區塊開始生成,以地圖區塊計算(16 個節點)。" #: src/settings_translation_file.cpp msgid "" "From how far blocks are sent to clients, stated in mapblocks (16 nodes)." -msgstr "" +msgstr "要把多遠的區塊送到客戶端,以地圖區塊計算(16 個節點)。" #: src/settings_translation_file.cpp msgid "" "From how far clients know about objects, stated in mapblocks (16 nodes)." -msgstr "" +msgstr "客戶端上知道多遠的區塊上的物件,以地圖區塊計算(16 個節點)。" #: src/settings_translation_file.cpp msgid "Full screen" -msgstr "" +msgstr "全螢幕" #: src/settings_translation_file.cpp msgid "Full screen BPP" -msgstr "" +msgstr "全螢幕 BPP" #: src/settings_translation_file.cpp msgid "Fullscreen mode." -msgstr "" +msgstr "全螢幕模式。" #: src/settings_translation_file.cpp msgid "GUI scaling" -msgstr "" +msgstr "圖形使用者介面縮放比例" #: src/settings_translation_file.cpp msgid "GUI scaling filter" @@ -1860,11 +1868,11 @@ msgstr "圖形使用者介面縮放過濾器" #: src/settings_translation_file.cpp msgid "GUI scaling filter txr2img" -msgstr "" +msgstr "圖形使用者介面縮放比例過濾器 txr2img" #: src/settings_translation_file.cpp msgid "Gamma" -msgstr "" +msgstr "Gamma" #: src/settings_translation_file.cpp msgid "Generate normalmaps" @@ -1878,6 +1886,10 @@ msgid "" "Flags starting with \"no\" are used to explicitly disable them.\n" "'trees' and 'flat' flags only have effect in mgv6." msgstr "" +"全域地圖產生屬性。\n" +"未在旗標字串中指定的旗標將不會自預設值修改。\n" +"以「no」開頭的旗標字串將會用於明確的停用它們。\n" +"「trees」與「flat」旗標只在 mgv6 有效。" #: src/settings_translation_file.cpp msgid "Graphics" @@ -2503,9 +2515,8 @@ msgid "Mapgen flags" msgstr "地圖產生器旗標" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal" -msgstr "地圖產生器旗標" +msgstr "地圖產生器分形" #: src/settings_translation_file.cpp msgid "Mapgen fractal cave1 noise parameters" @@ -2520,14 +2531,12 @@ msgid "Mapgen fractal filler depth noise parameters" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal flags" -msgstr "地圖產生器旗標" +msgstr "地圖產生器分形旗標" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal julia iterations" -msgstr "視差遮蔽迭代" +msgstr "地圖產生器分形朱麗亞迭代" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia offset" From 8e36cfaecee75f8a0c4c37219da60cf03994bff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= Date: Thu, 26 Nov 2015 19:08:05 +0100 Subject: [PATCH 42/52] Translated using Weblate (Czech) Currently translated at 56.6% (446 of 787 strings) Squashed two translation commits to one --- po/cs/minetest.po | 157 +++++++++++++++++++++++++--------------------- 1 file changed, 84 insertions(+), 73 deletions(-) diff --git a/po/cs/minetest.po b/po/cs/minetest.po index 8d0677d9c..e00ad59a1 100644 --- a/po/cs/minetest.po +++ b/po/cs/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-23 17:09+0000\n" +"PO-Revision-Date: 2015-12-10 15:36+0000\n" "Last-Translator: Jakub Vaněk \n" "Language-Team: Czech " "\n" @@ -1202,7 +1202,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "A message to be displayed to all clients when the server crashes." -msgstr "Zpráva, která se zobrazí všem klientům, když server spadne." +msgstr "Zpráva, která se zobrazí všem klientům, když server havaruje." #: src/settings_translation_file.cpp msgid "A message to be displayed to all clients when the server shuts down." @@ -1230,12 +1230,17 @@ msgid "" "Leave this blank to start a local server.\n" "Note that the address field in the main menu overrides this setting." msgstr "" +"Adresa, kam se připojit.\n" +"Nechte prázdné, pokud chcete spustit místní server.\n" +"Poznámka: pole adresy v hlavním menu přepisuje toto nastavení." #: src/settings_translation_file.cpp msgid "" "Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " "screens." msgstr "" +"Upraví nastavení DPI pro vaši obrazovku (není pro X11/Android). Pro použití " +"například s 4k obrazovkami." #: src/settings_translation_file.cpp msgid "" @@ -1272,11 +1277,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Ask to reconnect after crash" -msgstr "" +msgstr "Zeptat se na znovupřipojení po havárii" #: src/settings_translation_file.cpp msgid "Automaticaly report to the serverlist." -msgstr "" +msgstr "Automaticky hlásit seznamu serverů." #: src/settings_translation_file.cpp msgid "Backward key" @@ -1300,7 +1305,7 @@ msgstr "Bitová hloubka (bity na pixel) v celoobrazovkovém režimu." #: src/settings_translation_file.cpp msgid "Build inside player" -msgstr "" +msgstr "Stavění uvnitř hráče" #: src/settings_translation_file.cpp msgid "Bumpmapping" @@ -1316,7 +1321,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Camera update toggle key" -msgstr "" +msgstr "Klávesa pro přepínání aktualizace pohledu" #: src/settings_translation_file.cpp msgid "Chat key" @@ -1340,7 +1345,7 @@ msgstr "Klávesa plynulého pohybu kamery" #: src/settings_translation_file.cpp msgid "Clean transparent textures" -msgstr "" +msgstr "Vynulovat průhledné textury" #: src/settings_translation_file.cpp msgid "Client and Server" @@ -1364,7 +1369,7 @@ msgstr "Mraky" #: src/settings_translation_file.cpp msgid "Clouds are a client side effect." -msgstr "" +msgstr "Mraky jsou pouze lokální efekt." #: src/settings_translation_file.cpp msgid "Clouds in menu" @@ -1379,6 +1384,10 @@ msgid "" "Comma-separated list of trusted mods that are allowed to access insecure\n" "functions even when mod security is on (via request_insecure_environment())." msgstr "" +"Seznam důvěryhodných modů oddělených čárkami, které mohou používat " +"potenciálně nebezpečné\n" +"funkce ve chvílích, kdy je zapnuto zabezpečení modů (pomocí " +"request_insecure_environment())." #: src/settings_translation_file.cpp msgid "Command key" @@ -1394,7 +1403,7 @@ msgstr "Připojit se k externímu serveru" #: src/settings_translation_file.cpp msgid "Connects glass if supported by node." -msgstr "" +msgstr "Spojí bloky skla, pokud je to jimi podporováno." #: src/settings_translation_file.cpp msgid "Console alpha" @@ -1426,6 +1435,9 @@ msgid "" "Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays " "unchanged." msgstr "" +"Ovládání délky denního cyklu.\n" +"Příklad: 72 = 20 minut, 360 = 4 minutý, 1 = 24 hodin, 0 = zůstává pouze noc " +"nebo den." #: src/settings_translation_file.cpp msgid "" @@ -1435,7 +1447,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Crash message" -msgstr "" +msgstr "Zpráva o havárii" #: src/settings_translation_file.cpp msgid "Crosshair alpha" @@ -1463,15 +1475,15 @@ msgstr "DPI" #: src/settings_translation_file.cpp msgid "Damage" -msgstr "Poškození" +msgstr "Zranění" #: src/settings_translation_file.cpp msgid "Debug info toggle key" -msgstr "" +msgstr "Klávesa pro zobrazení ladících informací" #: src/settings_translation_file.cpp msgid "Debug log level" -msgstr "" +msgstr "Úroveň minimální důležitosti ladících informací" #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -1479,7 +1491,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Default acceleration" -msgstr "" +msgstr "Výchozí zrychlení" #: src/settings_translation_file.cpp msgid "Default game" @@ -1490,6 +1502,8 @@ msgid "" "Default game when creating a new world.\n" "This will be overridden when creating a world from the main menu." msgstr "" +"Výchozí hra pro nové světy.\n" +"Při vytváření nového světa přes hlavní menu bude toto nastavení přepsáno." #: src/settings_translation_file.cpp msgid "Default password" @@ -1497,7 +1511,7 @@ msgstr "Výchozí heslo" #: src/settings_translation_file.cpp msgid "Default privileges" -msgstr "" +msgstr "Výchozí práva" #: src/settings_translation_file.cpp msgid "" @@ -1513,11 +1527,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." -msgstr "" +msgstr "Definuje maximální posun hráče v blocích (0 = bez limitu)." #: src/settings_translation_file.cpp msgid "Delay showing tooltips, stated in milliseconds." -msgstr "" +msgstr "Prodleva před zobrazením bublinové nápovědy, uvádějte v milisekundách." #: src/settings_translation_file.cpp msgid "Deprecated Lua API handling" @@ -1525,13 +1539,15 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Descending speed" -msgstr "" +msgstr "Rychlost slézání" #: src/settings_translation_file.cpp msgid "" "Description of server, to be displayed when players join and in the " "serverlist." msgstr "" +"Popis serveru, který bude zobrazen nově připojeným hráčům a který bude " +"uveden v seznamu serverů." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -1539,11 +1555,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Detailed mod profile data. Useful for mod developers." -msgstr "" +msgstr "Detailní profilovací data modů. Užitečné pro vývojáře modů." #: src/settings_translation_file.cpp msgid "Detailed mod profiling" -msgstr "" +msgstr "Detailní profilování modů" #: src/settings_translation_file.cpp msgid "Disable anticheat" @@ -1551,11 +1567,11 @@ msgstr "Zakázat anticheat" #: src/settings_translation_file.cpp msgid "Disallow empty passwords" -msgstr "" +msgstr "Zakázat prázdná hesla" #: src/settings_translation_file.cpp msgid "Domain name of server, to be displayed in the serverlist." -msgstr "" +msgstr "Doménové jméno serveru, které bude zobrazené v seznamu serverů." #: src/settings_translation_file.cpp msgid "Double tap jump for fly" @@ -1567,7 +1583,7 @@ msgstr "Dvojstisk klávesy \"skok\" zapne létání." #: src/settings_translation_file.cpp msgid "Drop item key" -msgstr "" +msgstr "Klávesa pro vyhození předmětu" #: src/settings_translation_file.cpp msgid "Dump the mapgen debug infos." @@ -1587,11 +1603,11 @@ msgstr "Povolit zabezpečení módů" #: src/settings_translation_file.cpp msgid "Enable players getting damage and dying." -msgstr "" +msgstr "Povolit zranění a úmrtí hráčů." #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." -msgstr "" +msgstr "Povolit náhodný uživatelský vstup (pouze pro testování)." #: src/settings_translation_file.cpp msgid "Enable selection highlighting for nodes (disables selectionbox)." @@ -1611,6 +1627,10 @@ msgid "" "to new servers, but they may not support all new features that you are " "expecting." msgstr "" +"Povolte pro zakázání připojení starých klientů.\n" +"Starší klienti jsou kompatibilní v takovém smyslu, že při připojení k novým " +"serverům\n" +"nehavarují, ale nemusí podporovat všechny vlastnosti, které byste očekával/a." #: src/settings_translation_file.cpp msgid "" @@ -1619,6 +1639,9 @@ msgid "" "textures)\n" "when connecting to the server." msgstr "" +"Povolit použití vzdáleného media serveru (je-li poskytnut serverem).\n" +"Vzdálené servery nabízejí výrazně rychlejší způsob, jak stáhnout\n" +"média (např. textury) při připojování k serveru." #: src/settings_translation_file.cpp msgid "" @@ -1663,7 +1686,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "FPS in pause menu" -msgstr "" +msgstr "FPS v menu pauzy" #: src/settings_translation_file.cpp msgid "FSAA" @@ -1675,41 +1698,43 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fallback font" -msgstr "" +msgstr "Záložní písmo" #: src/settings_translation_file.cpp msgid "Fallback font shadow" -msgstr "" +msgstr "Stín záložního písma" #: src/settings_translation_file.cpp msgid "Fallback font shadow alpha" -msgstr "" +msgstr "Průhlednost stínu záložního písma" #: src/settings_translation_file.cpp msgid "Fallback font size" -msgstr "" +msgstr "Velikost záložního písma" #: src/settings_translation_file.cpp msgid "Fast key" -msgstr "" +msgstr "Klávesa pro přepnutí turbo režimu" #: src/settings_translation_file.cpp msgid "Fast mode acceleration" -msgstr "" +msgstr "Zrychlení v turbo režimu" #: src/settings_translation_file.cpp msgid "Fast mode speed" -msgstr "" +msgstr "Rychlost v turbo režimu" #: src/settings_translation_file.cpp msgid "Fast movement" -msgstr "" +msgstr "Turbo režim pohybu" #: src/settings_translation_file.cpp msgid "" "Fast movement (via use key).\n" "This requires the \"fast\" privilege on the server." msgstr "" +"Turbo režim pohybu (pomocí klávesy použít).\n" +"Vyžaduje na serveru přidělené právo \"fast\"." #: src/settings_translation_file.cpp msgid "Field of view" @@ -1739,7 +1764,7 @@ msgstr "Filtrování" #: src/settings_translation_file.cpp msgid "Fixed map seed" -msgstr "" +msgstr "Fixované seedové čislo" #: src/settings_translation_file.cpp msgid "Fly key" @@ -1747,7 +1772,7 @@ msgstr "Klávesa létání" #: src/settings_translation_file.cpp msgid "Flying" -msgstr "" +msgstr "Létání" #: src/settings_translation_file.cpp msgid "Fog" @@ -1755,7 +1780,7 @@ msgstr "Mlha" #: src/settings_translation_file.cpp msgid "Fog toggle key" -msgstr "" +msgstr "Klávesa pro přepnutí mlhy" #: src/settings_translation_file.cpp msgid "Font path" @@ -1771,11 +1796,11 @@ msgstr "Průhlednost stínu písma" #: src/settings_translation_file.cpp msgid "Font shadow alpha (opaqueness, between 0 and 255)." -msgstr "" +msgstr "Neprůhlednost stínu písma (od 0 do 255)." #: src/settings_translation_file.cpp msgid "Font shadow offset, if 0 then shadow will not be drawn." -msgstr "" +msgstr "Odsazení stínu písma, pokud je nastaveno na 0, stín nebude vykreslen." #: src/settings_translation_file.cpp msgid "Font size" @@ -1819,7 +1844,7 @@ msgstr "Celoobrazovkový režim." #: src/settings_translation_file.cpp msgid "GUI scaling" -msgstr "" +msgstr "Měřítko GUI" #: src/settings_translation_file.cpp msgid "GUI scaling filter" @@ -1827,7 +1852,7 @@ msgstr "Měřítko GUI" #: src/settings_translation_file.cpp msgid "GUI scaling filter txr2img" -msgstr "" +msgstr "Filtr měřítka GUI txr2img" #: src/settings_translation_file.cpp msgid "Gamma" @@ -1848,7 +1873,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Graphics" -msgstr "" +msgstr "Grafika" #: src/settings_translation_file.cpp msgid "Gravity" @@ -1856,7 +1881,7 @@ msgstr "Gravitace" #: src/settings_translation_file.cpp msgid "HUD toggle key" -msgstr "" +msgstr "Klávesa pro přepnutí HUD (Head-Up Display)" #: src/settings_translation_file.cpp msgid "" @@ -1872,7 +1897,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "High-precision FPU" -msgstr "" +msgstr "Výpočty ve FPU s vysokou přesností" #: src/settings_translation_file.cpp msgid "Homepage of server, to be displayed in the serverlist." @@ -2367,9 +2392,8 @@ msgid "Main menu mod manager" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Main menu script" -msgstr "Hlavní nabídka" +msgstr "Skript hlavní nabídky" #: src/settings_translation_file.cpp msgid "" @@ -2463,19 +2487,16 @@ msgid "Mapgen biome humidity noise parameters" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen debug" -msgstr "Generátor mapy" +msgstr "Ladění generátoru mapy" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen flags" -msgstr "Generátor mapy" +msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal" -msgstr "Generátor mapy" +msgstr "" #: src/settings_translation_file.cpp msgid "Mapgen fractal cave1 noise parameters" @@ -2490,14 +2511,12 @@ msgid "Mapgen fractal filler depth noise parameters" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal flags" -msgstr "Generátor mapy" +msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal julia iterations" -msgstr "Parallax Occlusion" +msgstr "" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia offset" @@ -2986,34 +3005,29 @@ msgid "Parallax Occlusion" msgstr "Parallax Occlusion" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion" -msgstr "Parallax Occlusion" +msgstr "Paralaxní okluze" #: src/settings_translation_file.cpp #, fuzzy msgid "Parallax occlusion Scale" -msgstr "Parallax Occlusion" +msgstr "Škála paralaxní okluze" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion bias" -msgstr "Parallax Occlusion" +msgstr "Náklon paralaxní okluze" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion iterations" -msgstr "Parallax Occlusion" +msgstr "Počet iterací paralaxní okluze" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion mode" -msgstr "Parallax Occlusion" +msgstr "Režim paralaxní okluze" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion strength" -msgstr "Parallax Occlusion" +msgstr "Síla paralaxní okluze" #: src/settings_translation_file.cpp msgid "Path to TrueTypeFont or bitmap." @@ -3180,9 +3194,8 @@ msgid "Selection box width" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server / Singleplayer" -msgstr "Start místní hry" +msgstr "Server / Místní hra" #: src/settings_translation_file.cpp msgid "Server URL" @@ -3304,9 +3317,8 @@ msgid "Static spawnpoint" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Strength of generated normalmaps." -msgstr "Generovat normálové mapy" +msgstr "Síla vygenerovaných normálových map." #: src/settings_translation_file.cpp msgid "Strength of parallax." @@ -3321,9 +3333,8 @@ msgid "Synchronous SQLite" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Texture path" -msgstr "Balíčky textur" +msgstr "Cesta k texturám" #: src/settings_translation_file.cpp msgid "" From 0f75141d6938427bd36b47de9984efb68b60f9ed Mon Sep 17 00:00:00 2001 From: Luca Argentieri Date: Mon, 14 Dec 2015 23:08:44 +0100 Subject: [PATCH 43/52] Translated using Weblate (Italian) Currently translated at 43.8% (345 of 787 strings) --- po/it/minetest.po | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index ee532d224..83226aa21 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: Minetest 0.4.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-15 15:37+0000\n" -"Last-Translator: Andrea Di Pietro Ulla \n" +"PO-Revision-Date: 2015-12-14 23:08+0000\n" +"Last-Translator: Luca Argentieri \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -240,7 +240,6 @@ msgstr "" "per il pacchetto moduli $1" #: builtin/mainmenu/store.lua -#, fuzzy msgid "Close store" msgstr "Chiudi deposito" @@ -265,9 +264,8 @@ msgid "Search" msgstr "Cerca" #: builtin/mainmenu/store.lua -#, fuzzy msgid "Shortname:" -msgstr "Nome del mondo" +msgstr "Nome corto:" #: builtin/mainmenu/store.lua msgid "Successfully installed:" @@ -298,9 +296,8 @@ msgid "Previous Contributors" msgstr "Contributori precedenti" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Previous Core Developers" -msgstr "Sviluppatori del motore precedenti" +msgstr "Precedente Nucleo sviluppatori" #: builtin/mainmenu/tab_mods.lua msgid "Installed Mods:" @@ -454,8 +451,9 @@ msgid "Enabled" msgstr "Attivato" #: builtin/mainmenu/tab_settings.lua +#, fuzzy msgid "Format is 3 numbers separated by commas and inside brackets." -msgstr "" +msgstr "Il formato è da 3 numeri separati da virgole e dentro parentesi" #: builtin/mainmenu/tab_settings.lua msgid "" @@ -642,7 +640,6 @@ msgid "Creating client..." msgstr "Creazione del client..." #: src/game.cpp -#, fuzzy msgid "Creating server..." msgstr "Creazione del server..." @@ -673,7 +670,6 @@ msgstr "" "- T: chat\n" #: src/game.cpp -#, fuzzy msgid "" "Default Controls:\n" "No menu visible:\n" @@ -755,7 +751,6 @@ msgid "You died." msgstr "Siete morti." #: src/guiFormSpecMenu.cpp -#, fuzzy msgid "Enter " msgstr "Invio " @@ -1188,7 +1183,6 @@ msgid "3D mode" msgstr "Modalità 3D" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "3D support.\n" "Currently supported:\n" @@ -1255,11 +1249,11 @@ msgstr "" "impostazione." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " "screens." -msgstr "dpi del tuo schermo (no X11/solo Android) per esempio schermi 4K." +msgstr "" +"Regola i dpi del tuo schermo (no X11/solo Android) per esempio schermi 4K." #: src/settings_translation_file.cpp msgid "" @@ -1268,7 +1262,6 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Advanced" msgstr "Avanzato" @@ -1277,16 +1270,18 @@ msgid "Always fly and fast" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Ambient occlusion gamma" -msgstr "" +msgstr "Ambient occlusion gamma" #: src/settings_translation_file.cpp msgid "Anisotropic filtering" msgstr "Filtro anisotropico" #: src/settings_translation_file.cpp +#, fuzzy msgid "Announce server" -msgstr "" +msgstr "Server annunciato" #: src/settings_translation_file.cpp msgid "" @@ -1309,7 +1304,7 @@ msgstr "Tasto Indietro" #: src/settings_translation_file.cpp msgid "Basic" -msgstr "" +msgstr "Base" #: src/settings_translation_file.cpp msgid "Bilinear filtering" @@ -1322,7 +1317,7 @@ msgstr "Risoluzione dell'indirizzo..." #: src/settings_translation_file.cpp msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" +msgstr "Bit per pixel (profondita del colore) in schermo intero." #: src/settings_translation_file.cpp msgid "Build inside player" @@ -1330,7 +1325,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Bumpmapping" -msgstr "" +msgstr "Bumpmapping" #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -1342,7 +1337,7 @@ msgstr "Ammorbidisci la visuale in modalità cinematica" #: src/settings_translation_file.cpp msgid "Camera update toggle key" -msgstr "" +msgstr "Tasto Attiva/Disattiva aggiornamento della camera." #: src/settings_translation_file.cpp msgid "Chat key" @@ -1355,7 +1350,7 @@ msgstr "Tasto mostra/nascondi chat" #: src/settings_translation_file.cpp msgid "Chunk size" -msgstr "" +msgstr "dimensione del blocco" #: src/settings_translation_file.cpp msgid "Cinematic mode" From b675d4984beef28c33b7e0711cbca70936890884 Mon Sep 17 00:00:00 2001 From: Anton Tsyganenko Date: Thu, 17 Dec 2015 23:01:57 +0100 Subject: [PATCH 44/52] Translated using Weblate (Russian) Currently translated at 48.7% (384 of 787 strings) Squashed two translation commits to one --- po/ru/minetest.po | 49 +++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 363e00300..20d605e59 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -8,16 +8,16 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-08 10:10+0000\n" -"Last-Translator: Vasily Pavlov \n" -"Language-Team: Russian \n" +"PO-Revision-Date: 2015-12-18 09:44+0000\n" +"Last-Translator: Anton Tsyganenko \n" +"Language-Team: Russian " +"\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: builtin/fstk/ui.lua @@ -446,7 +446,7 @@ msgstr "Включено" #: builtin/mainmenu/tab_settings.lua msgid "Format is 3 numbers separated by commas and inside brackets." -msgstr "" +msgstr "Формат -- это 3 числа в скобках, разделенные точками." #: builtin/mainmenu/tab_settings.lua msgid "" @@ -1292,7 +1292,7 @@ msgstr "Назад" #: src/settings_translation_file.cpp msgid "Basic" -msgstr "" +msgstr "Базовый" #: src/settings_translation_file.cpp #, fuzzy @@ -1305,7 +1305,7 @@ msgstr "Адрес бинда" #: src/settings_translation_file.cpp msgid "Bits per pixel (aka color depth) in fullscreen mode." -msgstr "" +msgstr "Биты на пиксель (глубина цвета) в полноэкранном режиме." #: src/settings_translation_file.cpp msgid "Build inside player" @@ -1325,7 +1325,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Camera update toggle key" -msgstr "" +msgstr "Клавиша переключения обновления камеры" #: src/settings_translation_file.cpp msgid "Chat key" @@ -1357,7 +1357,7 @@ msgstr "Клиент и Сервер" #: src/settings_translation_file.cpp msgid "Climbing speed" -msgstr "" +msgstr "Скорость подъема" #: src/settings_translation_file.cpp msgid "Cloud height" @@ -1373,7 +1373,7 @@ msgstr "Облака" #: src/settings_translation_file.cpp msgid "Clouds are a client side effect." -msgstr "" +msgstr "Облака являются эффектом на стороне клиента." #: src/settings_translation_file.cpp msgid "Clouds in menu" @@ -1403,7 +1403,7 @@ msgstr "Подключение к внешнему серверу..." #: src/settings_translation_file.cpp msgid "Connects glass if supported by node." -msgstr "" +msgstr "Соединяет стекло, если поддерживается нодой." #: src/settings_translation_file.cpp msgid "Console alpha" @@ -1435,12 +1435,17 @@ msgid "" "Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays " "unchanged." msgstr "" +"Задает длину цикла дня/ночи.\n" +"Примеры: 72 = 20 минут, 360 = 4 минуты, 1 = 24 часа, 0 = время суток не " +"меняется." #: src/settings_translation_file.cpp msgid "" "Controls size of deserts and beaches in Mapgen v6.\n" "When snowbiomes are enabled 'mgv6_freq_desert' is ignored." msgstr "" +"Задает размеры пустыней и пляжей.\n" +"Когда включены снежные биомы, 'mgv6_freq_desert' игнорируется." #: src/settings_translation_file.cpp msgid "Crash message" @@ -1448,23 +1453,24 @@ msgstr "Сообщение при падении" #: src/settings_translation_file.cpp msgid "Crosshair alpha" -msgstr "" +msgstr "Прозрачность перекрестия" #: src/settings_translation_file.cpp +#, fuzzy msgid "Crosshair alpha (opaqueness, between 0 and 255)." -msgstr "" +msgstr "Прозрачность перекрестия (от 0 (прозрачно) до 255 (непрозрачно))." #: src/settings_translation_file.cpp msgid "Crosshair color" -msgstr "" +msgstr "Цвет перекрестия" #: src/settings_translation_file.cpp msgid "Crosshair color (R,G,B)." -msgstr "" +msgstr "Цвет перекрестия (R,G,B)." #: src/settings_translation_file.cpp msgid "Crouch speed" -msgstr "" +msgstr "Скорость спуска" #: src/settings_translation_file.cpp msgid "DPI" @@ -1472,11 +1478,12 @@ msgstr "DPI" #: src/settings_translation_file.cpp msgid "Damage" -msgstr "Увечья" +msgstr "Урон" #: src/settings_translation_file.cpp +#, fuzzy msgid "Debug info toggle key" -msgstr "" +msgstr "Клавиша переключения показа debug-информации" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -1488,7 +1495,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Default acceleration" -msgstr "" +msgstr "Ускорение по умолчанию" #: src/settings_translation_file.cpp msgid "Default game" From e4215c1d177cb6d47bd3d34633ba2d30f5be2c3d Mon Sep 17 00:00:00 2001 From: Rogier Date: Sat, 19 Dec 2015 01:09:48 +0100 Subject: [PATCH 45/52] Translated using Weblate (Dutch) Currently translated at 95.1% (749 of 787 strings) Squashed two translation commits to one --- po/nl/minetest.po | 1203 ++++++++++++++++++++++++++++----------------- 1 file changed, 743 insertions(+), 460 deletions(-) diff --git a/po/nl/minetest.po b/po/nl/minetest.po index 598d641d7..44f807c79 100644 --- a/po/nl/minetest.po +++ b/po/nl/minetest.po @@ -2,13 +2,12 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# msgid "" msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-11 20:55+0000\n" +"PO-Revision-Date: 2015-12-19 02:35+0000\n" "Last-Translator: Rogier \n" "Language-Team: Dutch " "\n" @@ -21,7 +20,7 @@ msgstr "" #: builtin/fstk/ui.lua msgid "An error occured in a Lua script, such as a mod:" -msgstr "Er is een fout opgetreden in een Lua script, zoals een mod:" +msgstr "Er is een fout opgetreden in een Lua script (bijvoorbeeld van een mod):" #: builtin/fstk/ui.lua msgid "An error occured:" @@ -41,7 +40,7 @@ msgstr "Opnieuw verbinding maken" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "De server heeft verzocht opnieuw verbinding te maken:" +msgstr "De server heeft gevraagd opnieuw verbinding te maken:" #: builtin/mainmenu/common.lua src/game.cpp msgid "Loading..." @@ -85,15 +84,15 @@ msgstr "Afhankelijkheden:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable MP" -msgstr "MP uitschakelen" +msgstr "MV uitzetten" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable MP" -msgstr "MP inschakelen" +msgstr "MV aanzetten" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "Alles aan" +msgstr "Alles aanzetten" #: builtin/mainmenu/dlg_config_world.lua msgid "" @@ -105,11 +104,11 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "Hide Game" -msgstr "Geen std" +msgstr "Verberg std. mods" #: builtin/mainmenu/dlg_config_world.lua msgid "Hide mp content" -msgstr "Verberg mp mods" +msgstr "Verberg MV mods" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" @@ -126,7 +125,7 @@ msgstr "Wereld:" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "ingeschakeld" +msgstr "aangeschakeld" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -138,7 +137,7 @@ msgstr "Maak aan" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a subgame, such as minetest_game, from minetest.net" -msgstr "Download een sub-game, zoals minetest_game, van minetest.net" +msgstr "Download een sub-spel, zoals minetest_game, van minetest.net" #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" @@ -150,7 +149,7 @@ msgstr "Spel" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator" #: builtin/mainmenu/dlg_create_world.lua msgid "No worldname given or no game selected" @@ -158,12 +157,13 @@ msgstr "Geen wereldnaam opgegeven of geen spel geselecteerd" #: builtin/mainmenu/dlg_create_world.lua msgid "Seed" -msgstr "kiemgetal" +msgstr "Kiemgetal" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." msgstr "" -"Waarschuwing: De minimale ontwikkel test is bedoeld voor ontwikkelaars." +"Waarschuwing: Het minimale ontwikkellaars-test-spel is bedoeld voor " +"ontwikkelaars." #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -171,23 +171,23 @@ msgstr "Naam wereld" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no subgames installed." -msgstr "Je heb geen sub-spellen geïnstalleerd." +msgstr "Er zijn geen spellen geïnstalleerd." #: builtin/mainmenu/dlg_delete_mod.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "Weet je zeker dat je \"$1\" wilt verwijderen?" +msgstr "Weet je zeker dat je mod \"$1\" wilt verwijderen?" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Modmgr: failed to delete \"$1\"" -msgstr "Modmgr: kan \"$1\" niet verwijderen" +msgstr "Modmgr: kan mod \"$1\" niet verwijderen" #: builtin/mainmenu/dlg_delete_mod.lua msgid "Modmgr: invalid modpath \"$1\"" -msgstr "Modmgr: onjuist pad \"$1\"" +msgstr "Modbeheer: onjuist pad \"$1\"" #: builtin/mainmenu/dlg_delete_mod.lua msgid "No of course not!" -msgstr "Natuurlijk niet!" +msgstr "Nee, natuurlijk niet!" #: builtin/mainmenu/dlg_delete_mod.lua builtin/mainmenu/dlg_delete_world.lua msgid "Yes" @@ -219,7 +219,7 @@ msgstr "" #: builtin/mainmenu/modmgr.lua msgid "Failed to install $1 to $2" -msgstr "Installeren van $1 in $2 is mislukt" +msgstr "Installeren van mod $1 in $2 is mislukt" #: builtin/mainmenu/modmgr.lua msgid "Install Mod: file: \"$1\"" @@ -227,11 +227,12 @@ msgstr "Mod installeren: bestand: \"$1\"" #: builtin/mainmenu/modmgr.lua msgid "Install Mod: unable to find real modname for: $1" -msgstr "Mod installeren: kan geen echte modnaam vinden voor: $1" +msgstr "Mod installeren: kan de echte modnaam niet vinden voor: $1" #: builtin/mainmenu/modmgr.lua msgid "Install Mod: unable to find suitable foldername for modpack $1" -msgstr "Mod installeren: kan geen geschikte map vinden voor modverzameling $1" +msgstr "" +"Mod installeren: kan geen geschikte map-naam vinden voor modverzameling $1" #: builtin/mainmenu/store.lua msgid "Close store" @@ -239,7 +240,7 @@ msgstr "Winkel sluiten" #: builtin/mainmenu/store.lua msgid "Downloading $1, please wait..." -msgstr "$1 aan het downloaden, even wachten..." +msgstr "$1 wordt gedownload, een ogenblik geduld..." #: builtin/mainmenu/store.lua msgid "Install" @@ -251,7 +252,7 @@ msgstr "Pagina $1 van $2" #: builtin/mainmenu/store.lua msgid "Rating" -msgstr "Rang" +msgstr "Waardering" #: builtin/mainmenu/store.lua msgid "Search" @@ -271,11 +272,11 @@ msgstr "Ongesorteerd" #: builtin/mainmenu/store.lua msgid "re-Install" -msgstr "opnieuw installeren" +msgstr "Opnieuw installeren" #: builtin/mainmenu/tab_credits.lua msgid "Active Contributors" -msgstr "Actieve bijdragers" +msgstr "Andere actieve ontwikkelaars" #: builtin/mainmenu/tab_credits.lua msgid "Core Developers" @@ -287,11 +288,11 @@ msgstr "Credits" #: builtin/mainmenu/tab_credits.lua msgid "Previous Contributors" -msgstr "Vroegere bijdragers" +msgstr "Vroegere ontwikkelaars" #: builtin/mainmenu/tab_credits.lua msgid "Previous Core Developers" -msgstr "Eerdere hoofdontwikkelaars" +msgstr "Vroegere hoofdontwikkelaars" #: builtin/mainmenu/tab_mods.lua msgid "Installed Mods:" @@ -299,7 +300,7 @@ msgstr "Geïnstalleerde Mods:" #: builtin/mainmenu/tab_mods.lua msgid "Mod information:" -msgstr "Mod beschrijving:" +msgstr "Mod-beschrijving:" #: builtin/mainmenu/tab_mods.lua builtin/mainmenu/tab_settings.lua msgid "Mods" @@ -307,7 +308,7 @@ msgstr "Mods" #: builtin/mainmenu/tab_mods.lua msgid "No mod description available" -msgstr "Geen mod beschrijving aanwezig" +msgstr "Geen mod-beschrijving aanwezig" #: builtin/mainmenu/tab_mods.lua msgid "Rename" @@ -319,19 +320,19 @@ msgstr "Selecteer Modbestand:" #: builtin/mainmenu/tab_mods.lua msgid "Uninstall selected mod" -msgstr "Geselecteerde mod deinstalleren" +msgstr "Geselecteerde mod deïnstalleren" #: builtin/mainmenu/tab_mods.lua msgid "Uninstall selected modpack" -msgstr "Geselecteerde modpack deinstalleren" +msgstr "Geselecteerde modverzameling deïnstalleren" #: builtin/mainmenu/tab_multiplayer.lua msgid "Address / Port :" -msgstr "IP-Adres / Poort :" +msgstr "Servernaam of -adres / Poort :" #: builtin/mainmenu/tab_multiplayer.lua src/settings_translation_file.cpp msgid "Client" -msgstr "Client" +msgstr "Cliënt" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Connect" @@ -339,11 +340,11 @@ msgstr "Verbinden" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Creative mode" -msgstr "Creatieve Modus" +msgstr "Creatieve modus" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "Damage enabled" -msgstr "Schade ingeschakeld" +msgstr "Verwondingen aangeschakeld" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_server.lua #: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp @@ -360,11 +361,11 @@ msgstr "Publieke Serverlijst" #: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua msgid "PvP enabled" -msgstr "PvP ingeschakeld" +msgstr "Spelergevechten aangeschakeld" #: builtin/mainmenu/tab_server.lua msgid "Bind Address" -msgstr "Adres" +msgstr "Lokaal server-adres" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "Configure" @@ -373,16 +374,16 @@ msgstr "Instellingen" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua #: builtin/mainmenu/tab_singleplayer.lua msgid "Creative Mode" -msgstr "Creatieve Modus" +msgstr "Creatieve modus" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua #: builtin/mainmenu/tab_singleplayer.lua msgid "Enable Damage" -msgstr "Schade inschakelen" +msgstr "Verwondingen inschakelen" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua msgid "Name/Password" -msgstr "Naam/Wachtwoord" +msgstr "Naam / Wachtwoord" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "New" @@ -390,7 +391,7 @@ msgstr "Nieuw" #: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua msgid "No world created or selected!" -msgstr "Geen wereldnaam opgegeven of geen spel geselecteerd!" +msgstr "Geen wereldnaam opgegeven of geen wereld aangemaakt!" #: builtin/mainmenu/tab_server.lua msgid "Port" @@ -414,7 +415,7 @@ msgstr "Serverpoort" #: builtin/mainmenu/tab_server.lua msgid "Start Game" -msgstr "Start Server" +msgstr "Start spel" #: builtin/mainmenu/tab_settings.lua msgid "\"$1\" is not a valid flag." @@ -422,7 +423,7 @@ msgstr "\"$1\" is geen geldige vlag." #: builtin/mainmenu/tab_settings.lua msgid "(No description of setting given)" -msgstr "(Geen beschrijving beschikbaar)" +msgstr "(Er is geen beschrijving van deze instelling beschikbaar)" #: builtin/mainmenu/tab_settings.lua msgid "Browse" @@ -430,42 +431,43 @@ msgstr "Bladeren" #: builtin/mainmenu/tab_settings.lua msgid "Change keys" -msgstr "Toetsen" +msgstr "Toetsen aanpassen" #: builtin/mainmenu/tab_settings.lua msgid "Disabled" -msgstr "uitgeschakeld" +msgstr "Uitgeschakeld" #: builtin/mainmenu/tab_settings.lua msgid "Edit" -msgstr "Bewerken" +msgstr "Aanpassen" #: builtin/mainmenu/tab_settings.lua msgid "Enabled" -msgstr "ingeschakeld" +msgstr "Aangeschakeld" #: builtin/mainmenu/tab_settings.lua msgid "Format is 3 numbers separated by commas and inside brackets." msgstr "" -"Formaat is 3 getallen, gescheiden door komma's en tussen vierkante haken " -"(bijvoorbeeld: [4,-34,138])." +"Formaat moet zijn: 3 getallen, gescheiden door komma's en tussen vierkante " +"haken (bijvoorbeeld: [4,-34,138])." #: builtin/mainmenu/tab_settings.lua msgid "" "Format: , , (, , ), , " ", " msgstr "" +"Formaat: , , (, , " +"), " #: builtin/mainmenu/tab_settings.lua msgid "Games" msgstr "Spellen" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Optionally the lacunarity can be appended with a leading comma." msgstr "" -"Optioneel: de lacunaritie (uit de fractal-meetkunde: een maat voor " -"hoeveelheid en grootte van 'gaten') kan aan het einde toegevoegd worden, " +"Optioneel: de lacunaritie (uit de fractal-meetkunde: een maat voor\n" +"hoeveelheid en grootte van 'gaten') kan aan het einde toegevoegd worden,\n" "voorafgegaan door een komma." #: builtin/mainmenu/tab_settings.lua @@ -513,7 +515,6 @@ msgid "Config mods" msgstr "Mods configureren" #: builtin/mainmenu/tab_simple_main.lua -#, fuzzy msgid "Main" msgstr "Hoofdmenu" @@ -523,7 +524,7 @@ msgstr "Start Singleplayer" #: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp msgid "Play" -msgstr "Speel" +msgstr "Spelen" #: builtin/mainmenu/tab_singleplayer.lua msgid "Singleplayer" @@ -542,7 +543,6 @@ msgid "Select texture pack:" msgstr "Selecteer textuurverzameling:" #: builtin/mainmenu/tab_texturepacks.lua -#, fuzzy msgid "Texturepacks" msgstr "Texturen" @@ -564,13 +564,14 @@ msgstr "Nodes initialiseren..." #: src/client.cpp msgid "Item textures..." -msgstr "Voorwerp texturen..." +msgstr "Voorwerp-texturen..." #: src/client.cpp msgid "Loading textures..." msgstr "Bezig met laden van texturen..." #: src/client.cpp +#, fuzzy msgid "Rebuilding shaders..." msgstr "Herbouwen van shaders..." @@ -580,11 +581,11 @@ msgstr "Fout bij verbinden (time out?)" #: src/client/clientlauncher.cpp msgid "Could not find or load game \"" -msgstr "Kan niet de game laden of vinden \"" +msgstr "Kan het spel niet laden of niet vinden \"" #: src/client/clientlauncher.cpp msgid "Invalid gamespec." -msgstr "Onjuiste gamespec." +msgstr "Onjuiste spel-spec." #: src/client/clientlauncher.cpp msgid "Main Menu" @@ -592,11 +593,11 @@ msgstr "Hoofdmenu" #: src/client/clientlauncher.cpp msgid "No world selected and no address provided. Nothing to do." -msgstr "Geen wereld en adres geselecteerd. Niks te doen." +msgstr "Geen wereld geselecteerd en adres opgegeven. Niets te doen." #: src/client/clientlauncher.cpp msgid "Player name too long." -msgstr "Spelernaam te lang." +msgstr "Spelernaam is te lang." #: src/client/clientlauncher.cpp msgid "Provided world path doesn't exist: " @@ -612,7 +613,7 @@ msgid "" "Check debug.txt for details." msgstr "" "\n" -"Lees debug.txt voor details." +"Kijk in debug.txt voor details." #: src/game.cpp msgid "Change Keys" @@ -632,11 +633,11 @@ msgstr "Verder spelen" #: src/game.cpp msgid "Creating client..." -msgstr "Bezig client te maken..." +msgstr "Bezig cliënt te maken..." #: src/game.cpp msgid "Creating server..." -msgstr "Aanmaken van server..." +msgstr "Bezig server te maken..." #: src/game.cpp msgid "" @@ -659,10 +660,10 @@ msgstr "" "- Q: weggooien\n" "- I: rugzak\n" "- Muis: draaien/kijken\n" -"- L.muisknop: graaf/sla\n" -"- R.muisknop: plaats/gebruik\n" -"- Muiswiel: selecteer\n" -"- T: chat\n" +"- L-muisknop: graaf/sla\n" +"- R-muisknop: plaats/gebruik\n" +"- Muiswiel: selecteer vak\n" +"- T: chatten\n" #: src/game.cpp msgid "" @@ -687,10 +688,10 @@ msgstr "" "Menu of inventaris getoond:\n" "- dubbele tik buiten menu:\n" " --> sluiten\n" -"- aanraken stapel of slot:\n" +"- aanraken stapel of vak:\n" " --> stapel verplaatsen\n" "- aanraken & slepen, tik met tweede vinger\n" -" --> plaats enkel object in slot\n" +" --> plaats enkel object in vak\n" #: src/game.cpp msgid "Exit to Menu" @@ -726,11 +727,11 @@ msgstr "Doorgaan" #: src/game.cpp msgid "Resolving address..." -msgstr "IP-adres opzoeken..." +msgstr "Server-adres opzoeken..." #: src/game.cpp msgid "Respawn" -msgstr "Herspawnen" +msgstr "Wedergeboorte" #: src/game.cpp msgid "Shutting down..." @@ -738,15 +739,16 @@ msgstr "Uitschakelen..." #: src/game.cpp msgid "Sound Volume" -msgstr "Volume" +msgstr "Geluidsvolume" #: src/game.cpp msgid "You died." msgstr "Je bent gestorven." #: src/guiFormSpecMenu.cpp +#, fuzzy msgid "Enter " -msgstr "" +msgstr "Invoeren " #: src/guiFormSpecMenu.cpp msgid "ok" @@ -774,7 +776,7 @@ msgstr "Console" #: src/guiKeyChangeMenu.cpp msgid "Double tap \"jump\" to toggle fly" -msgstr "2x \"springen\" om te vliegen" +msgstr "2x \"springen\" schakelt vliegen aan/uit" #: src/guiKeyChangeMenu.cpp msgid "Drop" @@ -812,7 +814,7 @@ msgstr "Print debug-stacks" #: src/guiKeyChangeMenu.cpp msgid "Range select" -msgstr "Range instellen" +msgstr "Zichtbereik" #: src/guiKeyChangeMenu.cpp src/keycode.cpp msgid "Right" @@ -823,9 +825,8 @@ msgid "Sneak" msgstr "Kruipen" #: src/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle Cinematic" -msgstr "Snel bewegen aan/uit" +msgstr "Cinematic modus aan/uit" #: src/guiKeyChangeMenu.cpp msgid "Toggle fast" @@ -845,7 +846,7 @@ msgstr "Gebruiken" #: src/guiKeyChangeMenu.cpp msgid "press key" -msgstr "druk op" +msgstr "druk op toets" #: src/guiPasswordChange.cpp msgid "Change" @@ -865,7 +866,7 @@ msgstr "Huidig wachtwoord" #: src/guiPasswordChange.cpp msgid "Passwords do not match!" -msgstr "Wachtwoorden zijn niet gelijk!" +msgstr "De wachtwoorden zijn niet gelijk!" #: src/guiVolumeChange.cpp msgid "Exit" @@ -873,7 +874,7 @@ msgstr "Terug" #: src/guiVolumeChange.cpp msgid "Sound Volume: " -msgstr "Volume: " +msgstr "Geluidsvolume: " #: src/keycode.cpp msgid "Apps" @@ -889,7 +890,7 @@ msgstr "Terug" #: src/keycode.cpp msgid "Capital" -msgstr "Kapitaal" +msgstr "Hoofdletter" #: src/keycode.cpp msgid "Clear" @@ -997,7 +998,7 @@ msgstr "Min" #: src/keycode.cpp msgid "Mode Change" -msgstr "Modus veranderen" +msgstr "Modus verandering" #: src/keycode.cpp msgid "Next" @@ -1097,7 +1098,7 @@ msgstr "Eerste" #: src/keycode.cpp msgid "Return" -msgstr "Terug" +msgstr "Enter" #: src/keycode.cpp msgid "Right Button" @@ -1161,16 +1162,15 @@ msgstr "X knop 2" #: src/keycode.cpp msgid "Zoom" -msgstr "Zoom" +msgstr "Zoomen" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "0 = parallax occlusion with slope information (faster).\n" "1 = relief mapping (slower, more accurate)." msgstr "" "0 = parallax occlusie met helling-informatie (sneller).\n" -"1 = 'relief mapping' (lanzamer, nauwkeuriger)." +"1 = 'reliëf mapping' (lanzamer, nauwkeuriger)." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1191,7 +1191,7 @@ msgid "" "- sidebyside: split screen side by side." msgstr "" "3D ondersteuning.\n" -"Op dit moment beschikbaar:\n" +"Op dit moment ondersteund:\n" "- none: geen 3D.\n" "- anaglyph: 3D met de kleuren cyaan en magenta.\n" "- interlaced: 3D voor polariserend scherm (even/oneven beeldlijnen).\n" @@ -1203,10 +1203,10 @@ msgid "" "A chosen map seed for a new map, leave empty for random.\n" "Will be overridden when creating a new world in the main menu." msgstr "" -"Vooringestelde zaadwaarde voor de wereld. Indien leeg, wordt een " -"willekeurige waarde gekozen.\n" -"Wanneer in het hoofdmenu een nieuwe wereld gecreëerd wordt, kan een andere " -"waarde gekozen worden." +"Vooringesteld kiemgetal voor de wereld. Indien leeg, wordt een willekeurige " +"waarde gekozen.\n" +"Wanneer vanuit het hoofdmenu een nieuwe wereld gecreëerd wordt, kan een " +"ander kiemgetal gekozen worden." #: src/settings_translation_file.cpp msgid "A message to be displayed to all clients when the server crashes." @@ -1255,7 +1255,6 @@ msgstr "" "schermen (niet voor X11 of Android)." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Adjust the gamma encoding for the light tables. Lower numbers are brighter.\n" "This setting is for the client only and is ignored by the server." @@ -1270,16 +1269,15 @@ msgstr "Geavanceerd" #: src/settings_translation_file.cpp msgid "Always fly and fast" -msgstr "Zet 'snel' altijd aan bij vliegen" +msgstr "Zet 'snel' altijd aan bij 'vliegen'" #: src/settings_translation_file.cpp msgid "Ambient occlusion gamma" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Anisotropic filtering" -msgstr "Anisotrope Filtering" +msgstr "Anisotropische filtering" #: src/settings_translation_file.cpp msgid "Announce server" @@ -1291,9 +1289,9 @@ msgid "" "If you want to announce your ipv6 address, use serverlist_url = v6.servers." "minetest.net." msgstr "" -"URL van de serverlijst.\n" -"Voor het aanmelden van een ipv6 adres bij de minetest serverlijst, " -"configureer 'serverlist_url = v6.servers.minetest.net'." +"URL van de serverlijst om aan te melden.\n" +"Voor het aanmelden van een ipv6 adres bij de minetest serverlijst, gebruik " +"'v6.servers.minetest.net'." #: src/settings_translation_file.cpp msgid "Ask to reconnect after crash" @@ -1312,16 +1310,14 @@ msgid "Basic" msgstr "Basis" #: src/settings_translation_file.cpp -#, fuzzy msgid "Bilinear filtering" -msgstr "Bi-Lineaire Filtering" +msgstr "Bi-Lineaire filtering" #: src/settings_translation_file.cpp msgid "Bind address" -msgstr "Adres te gebruiken door lokale server" +msgstr "Lokaal server-adres" #: src/settings_translation_file.cpp -#, fuzzy msgid "Bits per pixel (aka color depth) in fullscreen mode." msgstr "Aantal bits per pixel (oftewel: kleurdiepte) in full-screen modus." @@ -1366,12 +1362,13 @@ msgid "Cinematic mode key" msgstr "Cinematic modus aan/uit toets" #: src/settings_translation_file.cpp +#, fuzzy msgid "Clean transparent textures" -msgstr "" +msgstr "Doorzichtige texturen schonen" #: src/settings_translation_file.cpp msgid "Client and Server" -msgstr "" +msgstr "Cliënt en server" #: src/settings_translation_file.cpp msgid "Climbing speed" @@ -1391,7 +1388,7 @@ msgstr "Wolken" #: src/settings_translation_file.cpp msgid "Clouds are a client side effect." -msgstr "Wolken bestaan enkel aan de kant van de cliënt." +msgstr "Wolken bestaan enkel op de cliënt." #: src/settings_translation_file.cpp msgid "Clouds in menu" @@ -1406,18 +1403,17 @@ msgid "" "Comma-separated list of trusted mods that are allowed to access insecure\n" "functions even when mod security is on (via request_insecure_environment())." msgstr "" -"Lijst (met komma's gescheiden) van vertrouwde mods die onveilige functies " +"Lijst, door komma's gescheiden, van vertrouwde mods die onveilige functies " "mogen gebruiken,\n" -"zelfs als mod-beveiliging aan staat (via request_insecure_environment())." +"zelfs wanneer mod-beveiliging aan staat (via request_insecure_environment())." #: src/settings_translation_file.cpp msgid "Command key" msgstr "Opdracht-toets" #: src/settings_translation_file.cpp -#, fuzzy msgid "Connect glass" -msgstr "Verbonden glas" +msgstr "Verbind glas" #: src/settings_translation_file.cpp msgid "Connect to external media server" @@ -1429,7 +1425,7 @@ msgstr "Verbind glas-nodes met elkaar (indien ondersteund door het type node)." #: src/settings_translation_file.cpp msgid "Console alpha" -msgstr "Console-alpha" +msgstr "Console-alphawaarde" #: src/settings_translation_file.cpp msgid "Console color" @@ -1445,7 +1441,7 @@ msgstr "Continu vooruit lopen" #: src/settings_translation_file.cpp msgid "Continuous forward movement (only used for testing)." -msgstr "Speler loopt continu vooruit (enkel gebruikt voor testen)." +msgstr "Speler loopt continu vooruit (wordt enkel gebruikt voor testen)." #: src/settings_translation_file.cpp msgid "Controls" @@ -1476,7 +1472,7 @@ msgstr "Crash boodschap" #: src/settings_translation_file.cpp msgid "Crosshair alpha" -msgstr "Draadkruis-alpha" +msgstr "Draadkruis-alphawaarde" #: src/settings_translation_file.cpp msgid "Crosshair alpha (opaqueness, between 0 and 255)." @@ -1499,7 +1495,6 @@ msgid "DPI" msgstr "Scherm DPI" #: src/settings_translation_file.cpp -#, fuzzy msgid "Damage" msgstr "Verwondingen" @@ -1512,7 +1507,6 @@ msgid "Debug log level" msgstr "Debug logniveau" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dedicated server step" msgstr "Tijdsstaplengte van de server" @@ -1522,15 +1516,15 @@ msgstr "Standaardversnelling" #: src/settings_translation_file.cpp msgid "Default game" -msgstr "Standaardwereld" +msgstr "Standaardspel" #: src/settings_translation_file.cpp msgid "" "Default game when creating a new world.\n" "This will be overridden when creating a world from the main menu." msgstr "" -"Standaardnaam voor een nieuwe wereld.\n" -"In het hoofdmenu kan een andere naam opgegeven worden." +"Standaardspel bij het maken een nieuwe wereld.\n" +"In het hoofdmenu kan een ander spel geselecteerd worden." #: src/settings_translation_file.cpp msgid "Default password" @@ -1538,7 +1532,7 @@ msgstr "Standaardwachtwoord" #: src/settings_translation_file.cpp msgid "Default privileges" -msgstr "Standaardrechten" +msgstr "Standaardvoorrechten" #: src/settings_translation_file.cpp msgid "" @@ -1566,7 +1560,7 @@ msgstr "Vertraging bij het tonen van tooltips, in milliseconden." #: src/settings_translation_file.cpp msgid "Deprecated Lua API handling" -msgstr "Actie bij gebruik van verouderde Lua API functies" +msgstr "Gedrag bij gebruik van verouderde Lua API functies" #: src/settings_translation_file.cpp msgid "Descending speed" @@ -1581,7 +1575,6 @@ msgstr "" "spelers inloggen." #: src/settings_translation_file.cpp -#, fuzzy msgid "Desynchronize block animation" msgstr "Textuur-animaties niet synchroniseren" @@ -1590,7 +1583,6 @@ msgid "Detailed mod profile data. Useful for mod developers." msgstr "Gedetailleerde profiling-data voor mods. Nuttig voor mod-ontwikkelaars." #: src/settings_translation_file.cpp -#, fuzzy msgid "Detailed mod profiling" msgstr "Gedetailleerde profiling van mods" @@ -1604,17 +1596,15 @@ msgstr "Lege wachtwoorden niet toestaan" #: src/settings_translation_file.cpp msgid "Domain name of server, to be displayed in the serverlist." -msgstr "Domeinnaam van de server, wordt getoond in de serverlijst." +msgstr "Domeinnaam van de server; wordt getoond in de serverlijst." #: src/settings_translation_file.cpp -#, fuzzy msgid "Double tap jump for fly" msgstr "2x \"springen\" om te vliegen" #: src/settings_translation_file.cpp -#, fuzzy msgid "Double-tapping the jump key toggles fly mode." -msgstr "2x \"springen\" om te vliegen" +msgstr "2x \"springen\" schakelt vlieg-modus aan/uit." #: src/settings_translation_file.cpp msgid "Drop item key" @@ -1622,10 +1612,9 @@ msgstr "Weggooi-toets" #: src/settings_translation_file.cpp msgid "Dump the mapgen debug infos." -msgstr "" +msgstr "Print wereldgenerator debug informatie." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Enable a bit lower water surface, so it doesn't \"fill\" the node " "completely.\n" @@ -1634,24 +1623,23 @@ msgid "" msgstr "" "Maak de wateroppervlakte iets lager, zodat het niet de hele node vult.\n" "Dit is niet echt geoptimaliseerd, en vloeiende belichting van de\n" -"wateroppervlakte werkt niet als dit is ingeschakeld." +"wateroppervlakte werkt niet als dit is aangeschakeld." #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable mod security" msgstr "Veilige modus voor mods aanzetten" #: src/settings_translation_file.cpp msgid "Enable players getting damage and dying." -msgstr "" +msgstr "Schakel verwondingen en sterven van spelers aan." #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." -msgstr "" +msgstr "Schakel willkeurige invoer aan (enkel voor testen)." #: src/settings_translation_file.cpp msgid "Enable selection highlighting for nodes (disables selectionbox)." -msgstr "" +msgstr "Laat geselecteerde nodes oplichten (schakelt selectie-randen uit)." #: src/settings_translation_file.cpp msgid "" @@ -1667,6 +1655,11 @@ msgid "" "to new servers, but they may not support all new features that you are " "expecting." msgstr "" +"Zet dit aan om verbindingen van oudere cliënten te weigeren.\n" +"Oudere cliënten zijn compatibel, in de zin dat ze niet crashen als ze " +"verbinding \n" +"maken met nieuwere servers, maar ze ondersteunen wellicht niet alle nieuwere " +"mogelijkheden." #: src/settings_translation_file.cpp msgid "" @@ -1675,6 +1668,11 @@ msgid "" "textures)\n" "when connecting to the server." msgstr "" +"Sta het gebruik van een externe media-server toe (indien opgegeven door de " +"server).\n" +"Het gebruik van externe media-servers versnelt het downloaden van media (" +"bijv. texturen) aanzienlijk\n" +"bij het maken van een verbinding met een server." #: src/settings_translation_file.cpp msgid "" @@ -1682,6 +1680,9 @@ msgid "" "to IPv6 clients, depending on system configuration.\n" "Ignored if bind_address is set." msgstr "" +"Schakel IPv6 in voor de server. Afhankelijk van de systeemconfiguratie\n" +"kan dit tot gevolg hebben dat enkel IPv6 cliënten verbinding kunnen maken\n" +"Deze instelling wordt genegeerd als een lokaal server-adres ingesteld is." #: src/settings_translation_file.cpp msgid "" @@ -1696,9 +1697,8 @@ msgid "Enables caching of facedir rotated meshes." msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enables minimap." -msgstr "Schade inschakelen" +msgstr "Schakelt de mini-kaart in." #: src/settings_translation_file.cpp msgid "" @@ -1717,10 +1717,12 @@ msgid "" "Experimental option, might cause visible spaces between blocks\n" "when set to higher number than 0." msgstr "" +"Experimentele optie. Kan bij een waarde groter dan 0 zichtbare\n" +"ruimtes tussen blokken tot gevolg hebben." #: src/settings_translation_file.cpp msgid "FPS in pause menu" -msgstr "" +msgstr "FPS in het pauze-menu" #: src/settings_translation_file.cpp msgid "FSAA" @@ -1728,60 +1730,63 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fall bobbing" -msgstr "" +msgstr "Loopbeweging bij vallen" #: src/settings_translation_file.cpp -#, fuzzy msgid "Fallback font" -msgstr "needs_fallback_font" +msgstr "Terugval-font" #: src/settings_translation_file.cpp msgid "Fallback font shadow" -msgstr "" +msgstr "Terugval-font schaduw" #: src/settings_translation_file.cpp msgid "Fallback font shadow alpha" -msgstr "" +msgstr "Terugval-font schaduw alphawaarde" #: src/settings_translation_file.cpp msgid "Fallback font size" -msgstr "" +msgstr "Terugval-fontgrootte" #: src/settings_translation_file.cpp msgid "Fast key" -msgstr "" +msgstr "Snel toets" #: src/settings_translation_file.cpp msgid "Fast mode acceleration" -msgstr "" +msgstr "Versnelling in snelle modus" #: src/settings_translation_file.cpp msgid "Fast mode speed" -msgstr "" +msgstr "Snelheid in snelle modus" #: src/settings_translation_file.cpp msgid "Fast movement" -msgstr "" +msgstr "Snelle modus" #: src/settings_translation_file.cpp msgid "" "Fast movement (via use key).\n" "This requires the \"fast\" privilege on the server." msgstr "" +"Snelle beweging toestaan (met de \"gebruiken\" toets).\n" +"Het \"fast\" voorrecht is vereist op de server." #: src/settings_translation_file.cpp msgid "Field of view" -msgstr "" +msgstr "Zichthoek" #: src/settings_translation_file.cpp msgid "Field of view in degrees." -msgstr "" +msgstr "Zichthoek in graden." #: src/settings_translation_file.cpp msgid "" "File in client/serverlist/ that contains your favorite servers displayed in " "the Multiplayer Tab." msgstr "" +"Bestand in de map 'client/serverlist/' met favoriete servers die getoond " +"worden in de multiplayer tab." #: src/settings_translation_file.cpp msgid "" @@ -1792,73 +1797,75 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Filtering" -msgstr "Geen filter" +msgstr "Filters" #: src/settings_translation_file.cpp msgid "Fixed map seed" -msgstr "" +msgstr "Vast kiemgetal" #: src/settings_translation_file.cpp msgid "Fly key" -msgstr "" +msgstr "Vliegen toets" #: src/settings_translation_file.cpp msgid "Flying" -msgstr "" +msgstr "Vliegen" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "" +msgstr "Mist" #: src/settings_translation_file.cpp msgid "Fog toggle key" -msgstr "" +msgstr "Mist aan/uitschakelen toets" #: src/settings_translation_file.cpp msgid "Font path" -msgstr "" +msgstr "Font pad" #: src/settings_translation_file.cpp msgid "Font shadow" -msgstr "" +msgstr "Fontschaduw" #: src/settings_translation_file.cpp msgid "Font shadow alpha" -msgstr "" +msgstr "Fontschaduw alphawaarde" #: src/settings_translation_file.cpp msgid "Font shadow alpha (opaqueness, between 0 and 255)." -msgstr "" +msgstr "Fontschaduw alphawaarde (ondoorzichtigheid, tussen 0 en 255)." #: src/settings_translation_file.cpp msgid "Font shadow offset, if 0 then shadow will not be drawn." -msgstr "" +msgstr "Fontschaduw afstand. Indien 0, dan wordt geen schaduw getekend." #: src/settings_translation_file.cpp msgid "Font size" -msgstr "" +msgstr "Fontgrootte" #: src/settings_translation_file.cpp -#, fuzzy msgid "Forward key" -msgstr "Vooruit" +msgstr "Vooruit toets" #: src/settings_translation_file.cpp msgid "Freetype fonts" -msgstr "" +msgstr "Freetype fonts" #: src/settings_translation_file.cpp msgid "" "From how far blocks are generated for clients, stated in mapblocks (16 " "nodes)." msgstr "" +"Tot welke afstand blokken gegenereerd worden voor cliënten. In mapblokken (" +"16 nodes)." #: src/settings_translation_file.cpp msgid "" "From how far blocks are sent to clients, stated in mapblocks (16 nodes)." msgstr "" +"Tot welke afstand blokken naar cliënten gestuurd worden. In mapblokken (16 " +"nodes)." #: src/settings_translation_file.cpp msgid "" @@ -1867,32 +1874,31 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Full screen" -msgstr "" +msgstr "Volledig scherm" #: src/settings_translation_file.cpp msgid "Full screen BPP" -msgstr "" +msgstr "BPP bij volledig scherm" #: src/settings_translation_file.cpp msgid "Fullscreen mode." -msgstr "" +msgstr "Volledig scherm modus." #: src/settings_translation_file.cpp msgid "GUI scaling" -msgstr "" +msgstr "GUI schaalfactor" #: src/settings_translation_file.cpp -#, fuzzy msgid "GUI scaling filter" -msgstr "GUI schaal-factor" +msgstr "GUI schalingsfilter" #: src/settings_translation_file.cpp msgid "GUI scaling filter txr2img" -msgstr "" +msgstr "GUI schalingsfilter: txr2img" #: src/settings_translation_file.cpp msgid "Gamma" -msgstr "" +msgstr "Gamma" #: src/settings_translation_file.cpp msgid "Generate normalmaps" @@ -1906,18 +1912,23 @@ msgid "" "Flags starting with \"no\" are used to explicitly disable them.\n" "'trees' and 'flat' flags only have effect in mgv6." msgstr "" +"Algemene wereldgenerator instellingen.\n" +"Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-" +"waarde.\n" +"Zet \"no\" voor een vlag om hem expliciet uit te zetten.\n" +"'trees' en 'flat' zijn enkel van toepassing in mgv6." #: src/settings_translation_file.cpp msgid "Graphics" -msgstr "" +msgstr "Grafisch" #: src/settings_translation_file.cpp msgid "Gravity" -msgstr "" +msgstr "Zwaartekracht" #: src/settings_translation_file.cpp msgid "HUD toggle key" -msgstr "" +msgstr "HUD aan/uitschakelen toets" #: src/settings_translation_file.cpp msgid "" @@ -1926,22 +1937,29 @@ msgid "" "- log: mimic and log backtrace of deprecated call (default for debug).\n" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" +"Behandeling van verouderde lua api aanroepen:\n" +"- legacy: (probeer) het oude gedrag na te bootsen (standaard voor een " +"'release' versie).\n" +"- log: boots het oude gedrag na, en log een backtrace van de aanroep (" +"standaard voor een 'debug' versie).\n" +"- error: stop de server bij gebruik van een verouderde aanroep (" +"aanbevolen voor mod ontwikkelaars)." #: src/settings_translation_file.cpp msgid "Height on which clouds are appearing." -msgstr "" +msgstr "Hoogte waarop wolken voorbijdrijven." #: src/settings_translation_file.cpp msgid "High-precision FPU" -msgstr "" +msgstr "Hoge-nauwkeurigheid FPU" #: src/settings_translation_file.cpp msgid "Homepage of server, to be displayed in the serverlist." -msgstr "" +msgstr "Home-pagina van de server. Wordt getoond in de serverlijst." #: src/settings_translation_file.cpp msgid "Horizontal initial window size." -msgstr "" +msgstr "Horizontale aanvangsgroote van het window." #: src/settings_translation_file.cpp msgid "" @@ -1949,45 +1967,58 @@ msgid "" "mapblocks (16 nodes).\n" "In active blocks objects are loaded and ABMs run." msgstr "" +"Tot op welke afstand van actieve spelers blokken 'actief' zijn. In blokken (" +"van 16 nodes).\n" +"In actieve blokken worden objecten geladen (bijv. dieren die rondlopen) en " +"ABMs uitgevoerd (bijv. groeien van planten)." #: src/settings_translation_file.cpp msgid "" "How many blocks are flying in the wire simultaneously for the whole server." msgstr "" +"Het aantal blokken dat totaal tegelijk onderweg kan zijn, voor de hele " +"server." #: src/settings_translation_file.cpp msgid "How many blocks are flying in the wire simultaneously per client." -msgstr "" +msgstr "Het aantal blokken dat per cliënt tegelijk onderweg kan zijn." #: src/settings_translation_file.cpp msgid "" "How much the server will wait before unloading unused mapblocks.\n" "Higher value is smoother, but will use more RAM." msgstr "" +"De tijd die de server wacht voordat een ongebruikt mapblok vergeten wordt.\n" +"Een hogere waarde zorgt voor een vloeiender spelervaring, maar kost meer " +"geheugen." #: src/settings_translation_file.cpp msgid "IPv6" -msgstr "" +msgstr "IPv6" #: src/settings_translation_file.cpp msgid "IPv6 server" -msgstr "" +msgstr "IPv6 server" #: src/settings_translation_file.cpp msgid "IPv6 support." -msgstr "" +msgstr "IPv6 ondersteuning." #: src/settings_translation_file.cpp msgid "" "If FPS would go higher than this, limit it by sleeping\n" "to not waste CPU power for no benefit." msgstr "" +"Beperk de FPS tot maximaal deze waarde, zodat geen processor-\n" +"kracht verspild wordt zonder dat het toegevoegde waarde heeft." #: src/settings_translation_file.cpp msgid "" "If disabled \"use\" key is used to fly fast if both fly and fast mode are " "enabled." msgstr "" +"Indien uitgeschakeld, dan wordt met de \"gebruiken\" toets snel gevlogen " +"wanneer de \"vliegen\" en de \"snel\" modus aanstaan." #: src/settings_translation_file.cpp msgid "" @@ -1995,12 +2026,17 @@ msgid "" "nodes.\n" "This requires the \"noclip\" privilege on the server." msgstr "" +"Indien deze optie aanstaat, in combinatie met \"vliegen\" modus, dan kan de " +"speler door vaste objecten heenvliegen.\n" +"Dit vereist het \"noclip\" voorrecht op de server." #: src/settings_translation_file.cpp msgid "" "If enabled, \"use\" key instead of \"sneak\" key is used for climbing down " "and descending." msgstr "" +"Indien aangeschakeld, dan wordt de \"gebruiken\" toets gebruikt voor " +"omlaagklimmen en dalen i.p.v. de \"kruipen\" toets." #: src/settings_translation_file.cpp msgid "" @@ -2013,7 +2049,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "If enabled, disable cheat prevention in multiplayer." -msgstr "Valsspeelbescherming uitschakelen multiplayer modus." +msgstr "Valsspeelbescherming uitschakelen in multiplayer modus." #: src/settings_translation_file.cpp msgid "" @@ -2021,12 +2057,12 @@ msgid "" "Only enable this if you know what you are doing." msgstr "" "Zorg dat de server niet stopt in geval van ongeldige wereld-data.\n" -"Alleen aan te schakelen door mensen die weten wat de consequenties zijn." +"Alleen aan te schakelen indien bekend is wat de consequenties zijn." #: src/settings_translation_file.cpp msgid "If enabled, new players cannot join with an empty password." msgstr "" -"Spelers kunnen zich niet aanmelden zonder wachtwoord indien ingeschakeld." +"Spelers kunnen zich niet aanmelden zonder wachtwoord indien aangeschakeld." #: src/settings_translation_file.cpp msgid "" @@ -2034,110 +2070,126 @@ msgid "" "you stand.\n" "This is helpful when working with nodeboxes in small areas." msgstr "" -"Indien ingeschakeld, kan een speler blokken plaatsen op de eigen positie (" -"niveau van de voeten en van de ogen).\n" +"Indien aangeschakeld, kan een speler blokken plaatsen op de eigen positie (" +"het niveau van de voeten en van de ogen).\n" "Dit vergemakkelijkt het werken in nauwe ruimtes." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." -msgstr "Indien ingeschakeld, dan spawnen spelers altijd op deze coördinaten." +msgstr "" +"Indien aangeschakeld, dan worden spelers altijd op deze locatie geboren." #: src/settings_translation_file.cpp msgid "Ignore world errors" msgstr "Wereldfouten negeren" #: src/settings_translation_file.cpp -#, fuzzy msgid "In-Game" msgstr "Spel" #: src/settings_translation_file.cpp msgid "In-game chat console background alpha (opaqueness, between 0 and 255)." msgstr "" +"Chat console achtergrond alphawaarde (ondoorzichtigheid, tussen 0 en 255)." #: src/settings_translation_file.cpp msgid "In-game chat console background color (R,G,B)." -msgstr "" +msgstr "Chat console achtergrondkleur (R,G,B)." #: src/settings_translation_file.cpp msgid "Interval of saving important changes in the world, stated in seconds." msgstr "" +"Interval voor het opslaan van belangrijke veranderingen in de wereld. In " +"seconden." #: src/settings_translation_file.cpp msgid "Interval of sending time of day to clients." -msgstr "" +msgstr "Interval voor het sturen van de kloktijd naar cliënten." #: src/settings_translation_file.cpp -#, fuzzy msgid "Inventory key" -msgstr "Rugzak" +msgstr "Rugzak toets" #: src/settings_translation_file.cpp msgid "Invert mouse" -msgstr "" +msgstr "Muibeweging omkeren" #: src/settings_translation_file.cpp msgid "Invert vertical mouse movement." -msgstr "" +msgstr "Vertikale muisbeweging omkeren." #: src/settings_translation_file.cpp msgid "Item entity TTL" -msgstr "" +msgstr "Bestaansduur van objecten" #: src/settings_translation_file.cpp msgid "" "Julia set: (X,Y,Z) offsets from world centre.\n" "Range roughly -2 to 2, multiply by j_scale for offsets in nodes." msgstr "" +"Juliaverzameling: (X,Y,X) afstanden van wereld-centrum.\n" +"Bereik is ongeveer -2 tot 2. Vermenigvuldig met j_scale voor de afstand in " +"nodes." #: src/settings_translation_file.cpp msgid "Julia set: Approximate (X,Y,Z) scales in nodes." -msgstr "" +msgstr "Juliaverzameling: (X,Y,Z) schaal, in nodes (bij benadering)." #: src/settings_translation_file.cpp msgid "" "Julia set: Iterations of the recursive function.\n" "Controls scale of finest detail." msgstr "" +"Juliaverzameling: Aantal iteraties van de recursieve functie.\n" +"Bepaalt de schaal van de kleinste details." #: src/settings_translation_file.cpp msgid "" "Julia set: W co-ordinate of the generated 3D slice of the 4D shape.\n" "Range roughly -2 to 2." msgstr "" +"Juliaverzameling: W-coördinaat van de 3D doorsnede van de 4D vorm.\n" +"Bereik is ongeveer -2 tot 2." #: src/settings_translation_file.cpp msgid "" "Julia set: W value determining the 4D shape.\n" "Range roughly -2 to 2." msgstr "" +"Juliaverzameling: W-waarde van de 4D vorm.\n" +"Bereik is ongeveer -2 tot 2." #: src/settings_translation_file.cpp msgid "" "Julia set: X value determining the 4D shape.\n" "Range roughly -2 to 2." msgstr "" +"Juliaverzameling: X-waarde van de 4D vorm.\n" +"Bereik is ongeveer -2 tot 2." #: src/settings_translation_file.cpp msgid "" "Julia set: Y value determining the 4D shape.\n" "Range roughly -2 to 2." msgstr "" +"Juliaverzameling: Y-waarde van de 4D vorm.\n" +"Bereik is ongeveer -2 tot 2." #: src/settings_translation_file.cpp msgid "" "Julia set: Z value determining the 4D shape.\n" "Range roughly -2 to 2." msgstr "" +"Juliaverzameling: Z-waarde van de 4D-vorm.\n" +"Bereik is ongeveer -2 tot 2." #: src/settings_translation_file.cpp -#, fuzzy msgid "Jump key" -msgstr "Springen" +msgstr "Springen toets" #: src/settings_translation_file.cpp msgid "Jumping speed" -msgstr "" +msgstr "Sprinsnelheid" #: src/settings_translation_file.cpp msgid "" @@ -2145,6 +2197,10 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets voor het verkleinen van de zichtafstand. Dit verandert de minimale " +"zichtafstand.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2152,6 +2208,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets voor het weggooien van het geselecteerde object.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2159,6 +2218,10 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets voor het vergroten van de zichtafstand. Dit verandert de minimale " +"zichtafstand.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2166,6 +2229,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets voor springen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2173,6 +2239,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om snel te bewegen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2180,6 +2249,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de speler achteruit te bewegen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2187,6 +2259,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de speler vooruit te bewegen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2194,6 +2269,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de speler naar links te bewegen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2201,6 +2279,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de speler naar rechts te bewegen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2208,6 +2289,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de chat-console te openen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2215,6 +2299,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om het chat-window te openen om commando's te typen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2222,6 +2309,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om het chat-window te openen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2229,6 +2319,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om het rugzak-window te openen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2236,6 +2329,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om debug-stapels te printen. Gebruikt voor ontwikkeling.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2245,6 +2341,11 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om te kruipen.\n" +"Wordt ook gebruikt om naar beneden te klimmen en te dalen indien " +"aux1_descends uitstaat.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2252,6 +2353,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om tussen 1e-persoon camera en 3e-persoon camera te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2259,6 +2363,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om screenshot te maken.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2266,6 +2373,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om cinematic modus aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2273,6 +2383,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de mini-kaart aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2280,6 +2393,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om snelle modus aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2287,6 +2403,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om vliegen aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2294,6 +2413,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om 'noclip' modus aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2301,6 +2423,10 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om camera-verversing aan/uit te schakelen. Enkel gebruikt voor " +"ontwikkeling.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2308,6 +2434,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om debug informatie aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2315,6 +2444,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om de HUD aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2322,6 +2454,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om het tonen van chatberichten aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2329,6 +2464,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om mist aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2336,6 +2474,10 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om het tonen van de code-profiler aan/uit te schakelen. Gebruikt voor " +"ontwikkeling.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -2343,18 +2485,21 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Toets om oneindige zichtastand aan/uit te schakelen.\n" +"Zie http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735" +"e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Key use for climbing/descending" -msgstr "" +msgstr "Gebruik de 'gebruiken'-toets voor klimmen en dalen" #: src/settings_translation_file.cpp msgid "Language" -msgstr "" +msgstr "Taal" #: src/settings_translation_file.cpp msgid "Leaves style" -msgstr "" +msgstr "Type van bladeren" #: src/settings_translation_file.cpp msgid "" @@ -2363,17 +2508,23 @@ msgid "" "- Simple: only outer faces, if defined special_tiles are used\n" "- Opaque: disable transparency" msgstr "" +"Type bladeren:\n" +"- Fancy: alle zijden zichtbaar\n" +"- Simple: enkel buitenzijden zichtbaar; special_tiles worden gebruikt " +"indien gedefiniëerd\n" +"- Opaque: geen doorzichtige bladeren" #: src/settings_translation_file.cpp -#, fuzzy msgid "Left key" -msgstr "Linker Menu" +msgstr "Toets voor links" #: src/settings_translation_file.cpp msgid "" "Length of a server tick and the interval at which objects are generally " "updated over network." msgstr "" +"Lengte van server stap, en interval waarin objecten via het netwerk ververst " +"worden." #: src/settings_translation_file.cpp msgid "" @@ -2386,14 +2537,20 @@ msgid "" "- info\n" "- verbose" msgstr "" +"Hoeveelheid logging die geschreven wordt naar debug.txt:\n" +"- (geen logging)\n" +"- none (enkel berichten zonder gedefiniëerd niveau)\n" +"- error (alles van minstens fout-niveau)- warning (alles van minstens " +"waarschuwings-niveau)- action (alles van minstens actie-niveau)- info (" +"alles van minstens informatie-niveau)- verbose (alles)" #: src/settings_translation_file.cpp msgid "Limit of emerge queues on disk" -msgstr "" +msgstr "Emerge-wachtrij voor lezen" #: src/settings_translation_file.cpp msgid "Limit of emerge queues to generate" -msgstr "" +msgstr "Emerge-wachtrij voor genereren" #: src/settings_translation_file.cpp msgid "" @@ -2403,10 +2560,15 @@ msgid "" "- Downloads performed by main menu (e.g. mod manager).\n" "Only has an effect if compiled with cURL." msgstr "" +"Beperking van aantal parallele HTTP verzoeken. Van toepassing op:\n" +"- Laden van media indien een externe media-server gebruikt wordt.\n" +"- Laden van de serverlijst en server-aankondigingen.\n" +"- Downloads vanuit het hoofdmens (bijv. mods).\n" +"(Alleen van toepassing indien cURL meegecompileerd is)." #: src/settings_translation_file.cpp msgid "Liquid fluidity" -msgstr "" +msgstr "Vloeibaarheid van vloeistoffen" #: src/settings_translation_file.cpp msgid "Liquid fluidity smoothing" @@ -2414,62 +2576,68 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Liquid loop max" -msgstr "" +msgstr "Vloeistof-verspreiding per stap" #: src/settings_translation_file.cpp msgid "Liquid queue purge time" -msgstr "" +msgstr "Inkortingstijd vloeistof-wachtrij" #: src/settings_translation_file.cpp msgid "Liquid sink" -msgstr "" +msgstr "Zinksnelheid in vloeistof" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." -msgstr "" +msgstr "Vloeistof verspreidingssnelheid in seconden." #: src/settings_translation_file.cpp msgid "Liquid update tick" -msgstr "" +msgstr "Vloeistof verspreidingssnelheid" #: src/settings_translation_file.cpp msgid "Main menu game manager" -msgstr "" +msgstr "Hoofdmenu spelbeheer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Main menu mod manager" -msgstr "Hoofdmenu" +msgstr "Hoofdmenu modbeheer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Main menu script" -msgstr "Hoofdmenu" +msgstr "Hoofdmenu script" #: src/settings_translation_file.cpp msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" +"Mist en hemelkleur afhankelijk van tijd van de dag (zonsopkomst/ondergang) " +"en kijkrichting." #: src/settings_translation_file.cpp msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." msgstr "" +"Maakt dat DirectX werkt met LuaJIT. Schakel dit uit als het problemen geeft." #: src/settings_translation_file.cpp msgid "" "Mandelbrot set: (X,Y,Z) offsets from world centre.\n" "Range roughly -2 to 2, multiply by m_scale for offsets in nodes." msgstr "" +"Mandelbrot verzameling: (X,Y,Z) afstanden vanaf wereld-centrum.\n" +" Bereik is ongeveer -2 tot 2. Vermenigvuldig met m_scale voor de afstand in " +"nodes." #: src/settings_translation_file.cpp msgid "Mandelbrot set: Approximate (X,Y,Z) scales in nodes." -msgstr "" +msgstr "Mandelbrot verzameling: (X,Y,Z) schaal, in nodes (bij benadering)." #: src/settings_translation_file.cpp msgid "" "Mandelbrot set: Iterations of the recursive function.\n" "Controls scale of finest detail." msgstr "" +"Mandelbrot verzameling: Aantal iteraties van de recursieve functie.\n" +"Bepaalt de schaal van de kleinste details." #: src/settings_translation_file.cpp msgid "" @@ -2479,7 +2647,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Map directory" -msgstr "" +msgstr "Wereld map" #: src/settings_translation_file.cpp msgid "" @@ -2489,6 +2657,12 @@ msgid "" "default.\n" "Flags starting with \"no\" are used to explicitly disable them." msgstr "" +"Wereldgeneratie instellingen voor de fractal generator.\n" +"'julia' selecterd een julia-verzameling in plaats van een mandebrot-" +"verzameling.\n" +"Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-" +"waarde.\n" +"Zet \"no\" voor een vlag om hem expliciet uit te zetten." #: src/settings_translation_file.cpp msgid "" @@ -2499,6 +2673,12 @@ msgid "" "default.\n" "Flags starting with \"no\" are used to explicitly disable them." msgstr "" +"Wereldgenerator instellingen specified voor generator v6.\n" +"Indien sneeuwgebieden aanstaan, dan worden oerwouden ook aangezet, en wordt " +"de \"jungles\" vlag genegeerd.\n" +"Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-" +"waarde.\n" +"Zet \"no\" voor een vlag om hem expliciet uit te zetten." #: src/settings_translation_file.cpp msgid "" @@ -2508,295 +2688,297 @@ msgid "" "default.\n" "Flags starting with \"no\" are used to explicitly disable them." msgstr "" +"Wereldgenerator instellingen specified voor generator v7.\n" +"\"ridges\" zijn rivieren.\n" +"Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-" +"waarde.\n" +"Zet \"no\" voor een vlag om hem expliciet uit te zetten." #: src/settings_translation_file.cpp msgid "Map generation limit" -msgstr "" +msgstr "Wereld-grens" #: src/settings_translation_file.cpp msgid "Map save interval" -msgstr "" +msgstr "Interval voor opslaan wereld" #: src/settings_translation_file.cpp msgid "Mapblock limit" -msgstr "" +msgstr "Max aantal wereldblokken" #: src/settings_translation_file.cpp msgid "Mapblock unload timeout" -msgstr "" +msgstr "Wereldblok vergeet-tijd" #: src/settings_translation_file.cpp msgid "Mapgen biome heat noise parameters" -msgstr "" +msgstr "Wereldgenerator landschapstemperatuur ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen biome humidity blend noise parameters" -msgstr "" +msgstr "Wereldgenerator landschapsvochtigheidsovergangen ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen biome humidity noise parameters" -msgstr "" +msgstr "Wereldgenerator landschapsvochtigheid ruisparameters" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen debug" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator debug" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen flags" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator vlaggen" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal" -msgstr "Kaartgenerator" +msgstr "Fractal wereldgenerator" #: src/settings_translation_file.cpp msgid "Mapgen fractal cave1 noise parameters" -msgstr "" +msgstr "Fractal wereldgenerator grotten (1) ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen fractal cave2 noise parameters" -msgstr "" +msgstr "Fractal wereldgenerator grotten (2) ruisparameters" #: src/settings_translation_file.cpp +#, fuzzy msgid "Mapgen fractal filler depth noise parameters" -msgstr "" +msgstr "Fractal wereldgenerator vuldiepte ruisparameters" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal flags" -msgstr "Kaartgenerator" +msgstr "Fractal wereldgenerator vlaggen" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen fractal julia iterations" -msgstr "Parallax occlusie" +msgstr "Fractal wereldgenerator julia iteraties" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia offset" -msgstr "" +msgstr "Fractal wereldgenerator julia centrum-afstand" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia scale" -msgstr "" +msgstr "Fractal wereldgenerator julia schaal" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia slice w" -msgstr "" +msgstr "Fractal wereldgenerator julia w-doorsnede" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia w" -msgstr "" +msgstr "Fractal wereldgenerator julia w" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia x" -msgstr "" +msgstr "Fractal wereldgenerator julia x" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia y" -msgstr "" +msgstr "Fractal wereldgenerator julia y" #: src/settings_translation_file.cpp msgid "Mapgen fractal julia z" -msgstr "" +msgstr "Fractal wereldgenerator julia z" #: src/settings_translation_file.cpp msgid "Mapgen fractal mandelbrot iterations" -msgstr "" +msgstr "Fractal wereldgenerator mandelbrot iteraties" #: src/settings_translation_file.cpp msgid "Mapgen fractal mandelbrot offset" -msgstr "" +msgstr "Fractal wereldgenerator mandelbrot centrum-afstand" #: src/settings_translation_file.cpp msgid "Mapgen fractal mandelbrot scale" -msgstr "" +msgstr "Fractal wereldgenerator mandelbrot schaal" #: src/settings_translation_file.cpp msgid "Mapgen fractal mandelbrot slice w" -msgstr "" +msgstr "Fractal wereldgenerator mandelbrot w-doorsnede" #: src/settings_translation_file.cpp msgid "Mapgen fractal seabed noise parameters" -msgstr "" +msgstr "Fractal wereldgenerator zeebodem parameters" #: src/settings_translation_file.cpp msgid "Mapgen heat blend noise parameters" -msgstr "" +msgstr "Wereldgenerator landschapstemperatuurovergangen ruisparameters" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen name" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen v5" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator v5" #: src/settings_translation_file.cpp msgid "Mapgen v5 cave1 noise parameters" -msgstr "" +msgstr "Wereldgenerator v5 grot 1 ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v5 cave2 noise parameters" -msgstr "" +msgstr "Wereldgenerator v5 grot 2 ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v5 factor noise parameters" -msgstr "" +msgstr "Wereldgenerator v5 ruisparameters factor" #: src/settings_translation_file.cpp +#, fuzzy msgid "Mapgen v5 filler depth noise parameters" -msgstr "" +msgstr "Wereldgenerator v5 vuldiepte ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v5 height noise parameters" -msgstr "" +msgstr "Wereldgenerator v5 hoogte ruisparameters" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen v6" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator v6" #: src/settings_translation_file.cpp msgid "Mapgen v6 apple trees noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 appelbomen ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 beach frequency" -msgstr "" +msgstr "Wereldgenerator v6 strand frequentie" #: src/settings_translation_file.cpp msgid "Mapgen v6 beach noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 strand ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 biome noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 landschap ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 cave noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 grotten ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 desert frequency" -msgstr "" +msgstr "Wereldgenerator v6 woestijn ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 flags" -msgstr "" +msgstr "Wereldgenerator v6 vlaggen" #: src/settings_translation_file.cpp msgid "Mapgen v6 height select noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 hoogte-selectie ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 humidity noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 vochtigheid ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 mud noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 modder ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 steepness noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 steilheid ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 terrain altitude noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 terrein-hoogte ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 terrain base noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 basisterrein ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v6 trees noise parameters" -msgstr "" +msgstr "Wereldgenerator v6 bomen ruisparameters" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen v7" -msgstr "Kaartgenerator" +msgstr "Wereldgenerator v7" #: src/settings_translation_file.cpp msgid "Mapgen v7 cave1 noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 grotten (1) ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 cave2 noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 grotten (2) ruisparameters" #: src/settings_translation_file.cpp +#, fuzzy msgid "Mapgen v7 filler depth noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 vuldiepte ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 flags" -msgstr "" +msgstr "Wereldgenerator v7 vlaggen" #: src/settings_translation_file.cpp msgid "Mapgen v7 height select noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 hoogte-selectie ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 mount height noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 heuvel-hoogte ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 mountain noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 bergen ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 ridge noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 richel ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 ridge water noise parameters" -msgstr "" +msgstr "Wereldgenerator richel-water ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 terrain altitude noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 terrein-hoogte ruisparameters" #: src/settings_translation_file.cpp msgid "Mapgen v7 terrain base noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 terrein basis ruisparameters" #: src/settings_translation_file.cpp +#, fuzzy msgid "Mapgen v7 terrain persistation noise parameters" -msgstr "" +msgstr "Wereldgenerator v7 terrein-'persist' ruisparameters" #: src/settings_translation_file.cpp msgid "Max block generate distance" -msgstr "" +msgstr "Maximale afstand van te genereren blokken" #: src/settings_translation_file.cpp msgid "Max block send distance" -msgstr "" +msgstr "Maximale afstand voor te versturen blokken" #: src/settings_translation_file.cpp msgid "Max liquids processed per step." msgstr "" +"Maximaal aantal vloeistof-nodes te verwerken (dwz verspreiden) per server-" +"stap." #: src/settings_translation_file.cpp msgid "Max. clearobjects extra blocks" -msgstr "" +msgstr "Maximaal extra aantal blokken voor clearobjects" #: src/settings_translation_file.cpp msgid "Max. packets per iteration" -msgstr "" +msgstr "Maximaal aantal pakketten per iteratie" #: src/settings_translation_file.cpp msgid "Maximum FPS" -msgstr "" +msgstr "Maximum FPS" #: src/settings_translation_file.cpp msgid "Maximum FPS when game is paused." -msgstr "" +msgstr "Maximum FPS als het spel gepauzeerd is." #: src/settings_translation_file.cpp msgid "" @@ -2805,40 +2987,52 @@ msgid "" "Smaller values may result in a suitable spawn point not being found,\n" "resulting in a spawn at (0, 0, 0) possibly buried underground." msgstr "" +"Maximum hoogte boven waterniveau waar een speler geboren wordt.\n" +"Bij hogere waarden zullen de plaatsen dichter bij (x = 0, z = 0) liggen.\n" +"Bij lagere waarden kan het zijn dat een geschikte plek niet gevonden wordt,\n" +"in dat geval wordt de speler geboren op (0, 0, 0), mogelijk onder de grond." #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" -msgstr "" +msgstr "Maximaal aantal geforceerd geladen blokken" #: src/settings_translation_file.cpp +#, fuzzy msgid "Maximum hotbar width" -msgstr "" +msgstr "Maximale breedte van de 'hotbar'" #: src/settings_translation_file.cpp msgid "Maximum number of blocks that can be queued for loading." -msgstr "" +msgstr "Maximaal aantal blokken in de wachtrij voor laden/genereren." #: src/settings_translation_file.cpp msgid "" "Maximum number of blocks to be queued that are to be generated.\n" "Set to blank for an appropriate amount to be chosen automatically." msgstr "" +"Maximaal aantal blokken in de wachtrij om gegenereerd te worden.\n" +"Laat leeg om een geschikt aantal automatisch te laten berekenen." #: src/settings_translation_file.cpp msgid "" "Maximum number of blocks to be queued that are to be loaded from file.\n" "Set to blank for an appropriate amount to be chosen automatically." msgstr "" +"Maximaal aantal blokken in de wachtrij om van disk geladen te worden.\n" +"Laat leeg om een geschikt aantal automatisch te laten berekenen." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." -msgstr "" +msgstr "Maximaal aantal geforceerd geladen blokken." #: src/settings_translation_file.cpp msgid "" "Maximum number of mapblocks for client to be kept in memory.\n" "Set to -1 for unlimited amount." msgstr "" +"Maximaal aantal wereldblokken dat door de cliënt in het geheugen gehouden " +"wordt.\n" +"Gebruik -1 voor een onbeperkt aantal." #: src/settings_translation_file.cpp msgid "" @@ -2846,40 +3040,50 @@ msgid "" "try reducing it, but don't reduce it to a number below double of targeted\n" "client number." msgstr "" +"Maximaal aantal pakketen dat per server-stap verzonden wordt. Verminder dit " +"aantal\n" +"bij een langzame verbinding, maar niet lager dan het gewenste aantal " +"cliënten\n" +"dat gelijk verbonden kan zijn." #: src/settings_translation_file.cpp msgid "Maximum number of players that can connect simultaneously." -msgstr "" +msgstr "Maximaal aantal spelers dat tegelijk verbonden kan zijn." #: src/settings_translation_file.cpp msgid "Maximum number of statically stored objects in a block." -msgstr "" +msgstr "Maximaal aantal objecten per block." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Maximum proportion of current window to be used for hotbar.\n" "Useful if there's something to be displayed right or left of hotbar." msgstr "" +"Maximaal gedeelte van het window dat gebruikt mag worden voor de hotbar.\n" +"Dit is nuttig als er iets links of rechts ervan getoond moet worden." #: src/settings_translation_file.cpp msgid "Maximum simultaneously blocks send per client" -msgstr "" +msgstr "Maximaal aantal tegelijk te verzenden blokken per cliënt" #: src/settings_translation_file.cpp msgid "Maximum simultaneously bocks send total" -msgstr "" +msgstr "Maximaal aantal tegelijk te verzenden blokken (totaal)" #: src/settings_translation_file.cpp msgid "Maximum time in ms a file download (e.g. a mod download) may take." msgstr "" +"Maximale duur voor een download van een bestand (bijv. een mod). In " +"milliseconden." #: src/settings_translation_file.cpp msgid "Maximum users" -msgstr "" +msgstr "Maximaal aantal gebruikers" #: src/settings_translation_file.cpp msgid "Maxmimum objects per block" -msgstr "" +msgstr "Maximaal aantal objecten per blok" #: src/settings_translation_file.cpp #, fuzzy @@ -2892,27 +3096,27 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Message of the day" -msgstr "" +msgstr "Bericht van de dag" #: src/settings_translation_file.cpp msgid "Message of the day displayed to players connecting." -msgstr "" +msgstr "Toon bericht aan spelers die verbinding maken." #: src/settings_translation_file.cpp msgid "Minimap" -msgstr "" +msgstr "Mini-kaart" #: src/settings_translation_file.cpp msgid "Minimap key" -msgstr "" +msgstr "Mini-kaart toets" #: src/settings_translation_file.cpp msgid "Minimap scan height" -msgstr "" +msgstr "Mini-kaart scan-hoogte" #: src/settings_translation_file.cpp msgid "Minimum texture size for filters" -msgstr "" +msgstr "Minimale textuur-grootte voor filters" #: src/settings_translation_file.cpp msgid "" @@ -2920,6 +3124,9 @@ msgid "" "The amount of rendered stuff is dynamically set according to this. and " "viewing range min and max." msgstr "" +"Minimaal gewenste FPS.\n" +"De hoeveelheid gerenderd materiaal wordt aangepast afhankelijk van deze " +"waarde, en van de min en max zichtafstanden." #: src/settings_translation_file.cpp #, fuzzy @@ -2932,49 +3139,58 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Modstore details URL" -msgstr "" +msgstr "Mod-winkel details URL" #: src/settings_translation_file.cpp msgid "Modstore download URL" -msgstr "" +msgstr "Mod-winkel download URL" #: src/settings_translation_file.cpp msgid "Modstore mods list URL" -msgstr "" +msgstr "Mod-winkel mod-lijst URL" #: src/settings_translation_file.cpp msgid "Monospace font path" -msgstr "" +msgstr "Vaste-breedte font pad" #: src/settings_translation_file.cpp msgid "Monospace font size" -msgstr "" +msgstr "Vaste-breedte font grootte" #: src/settings_translation_file.cpp msgid "Mouse sensitivity" -msgstr "" +msgstr "Muis-gevoeligheid" #: src/settings_translation_file.cpp msgid "Mouse sensitivity multiplier." -msgstr "" +msgstr "Muis-gevoeligheidsfactor." #: src/settings_translation_file.cpp msgid "" "Multiplier for fall bobbing.\n" "For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." msgstr "" +"Vermenigvuldigingsfactor van loopbeweging bij vallen.\n" +"Bijvoorbeeld: 0 voor geen loopbeweging; 1.0 voor normale loopbeweging; 2.0 " +"voor twee keer grotere loopbeweging." #: src/settings_translation_file.cpp msgid "" "Multiplier for view bobbing.\n" "For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." msgstr "" +"Vermenigvuldigingsfactor van loopbeweging.\n" +"Bijvoorbeeld: 0 voor geen loopbeweging; 1.0 voor normale loopbeweging; 2.0 " +"voor twee keer grotere loopbeweging." #: src/settings_translation_file.cpp msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this." msgstr "" +"Wereldgenerator te gebruiken wanneer een nieuwe wereld gecreëerd wordt.\n" +"Bij het maken van een nieuwe wereld vanuit het hoofdmenu kan een andere " +"generator gekozen worden." #: src/settings_translation_file.cpp msgid "" @@ -2982,33 +3198,41 @@ msgid "" "When running a server, clients connecting with this name are admins.\n" "When starting from the main menu, this is overridden." msgstr "" +"Naam van de speler.\n" +"Voor servers: spelers met deze naam krijgen beheerdersrechten.\n" +"Voor cliënten: standaardspelernaam voor verbindingen met een server\n" +"(in het hoofdmenu kan een andere naam gekozen worden)." #: src/settings_translation_file.cpp msgid "" "Name of the server, to be displayed when players join and in the serverlist." msgstr "" +"Naam van de server. Wordt getoond in de serverlijst, en wanneer spelers " +"inloggen." #: src/settings_translation_file.cpp msgid "Network" -msgstr "" +msgstr "Netwerk" #: src/settings_translation_file.cpp msgid "" "Network port to listen (UDP).\n" "This value will be overridden when starting from the main menu." msgstr "" +"Netwerkpoort van de server (UDP).\n" +"Bij starten vanuit het hoofdmenu kan een andere poort opgegeven worden." #: src/settings_translation_file.cpp msgid "New style water" -msgstr "" +msgstr "Nieuw water" #: src/settings_translation_file.cpp msgid "New users need to input this password." -msgstr "" +msgstr "Nieuwe spelers dienen dit wachtwoord op te geven." #: src/settings_translation_file.cpp msgid "Noclip" -msgstr "" +msgstr "Noclip" #: src/settings_translation_file.cpp #, fuzzy @@ -3016,13 +3240,13 @@ msgid "Noclip key" msgstr "Noclip-toets" #: src/settings_translation_file.cpp -#, fuzzy msgid "Node highlighting" -msgstr "Node markering" +msgstr "Oplichtende node" #: src/settings_translation_file.cpp msgid "Noise parameters for biome API temperature, humidity and biome blend." msgstr "" +"Ruisparameters voor landschapstemperaturen, -vochtigheid en -overgangen." #: src/settings_translation_file.cpp msgid "Normalmaps sampling" @@ -3044,10 +3268,11 @@ msgid "" "speed greatly\n" "at the cost of slightly buggy caves." msgstr "" -"Aantal 'emerge' threads. Standaardwaarde hangt af van het aantal processoren." -"\n" -"Op multiprocessor systemen kan dit de generatie van de wereld versnellen.\n" -"Het kan echter vreemde grotten veroorzaken." +"Aantal 'emerge' threads. Laat dit leeg, of verhoog dit aantal om meerdere " +"threads te\n" +"gebruiken. Dit versnelt de wereldgeneratie op meer-processorsystemen " +"aanzienlijk\n" +"maar het kan de vorm van sommige grotten enigszins verstoren." #: src/settings_translation_file.cpp msgid "" @@ -3064,7 +3289,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Number of parallax occlusion iterations." -msgstr "" +msgstr "Aantal parallax occlusie iteraties." #: src/settings_translation_file.cpp msgid "Overall bias of parallax occlusion effect, usually scale/2." @@ -3079,14 +3304,12 @@ msgid "Parallax Occlusion" msgstr "Parallax occlusie" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion" msgstr "Parallax occlusie" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion Scale" -msgstr "Parallax occlusie" +msgstr "Parallax occlusie schaal" #: src/settings_translation_file.cpp #, fuzzy @@ -3094,14 +3317,12 @@ msgid "Parallax occlusion bias" msgstr "Parallax occlusie" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion iterations" -msgstr "Parallax occlusie" +msgstr "Parallax occlusie iteraties" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion mode" -msgstr "Parallax occlusie" +msgstr "Parallax occlusie modus" #: src/settings_translation_file.cpp #, fuzzy @@ -3110,44 +3331,48 @@ msgstr "Parallax occlusie" #: src/settings_translation_file.cpp msgid "Path to TrueTypeFont or bitmap." -msgstr "" +msgstr "Pad van TrueType font of bitmap." #: src/settings_translation_file.cpp msgid "Path to save screenshots at." -msgstr "" +msgstr "Pad waar screenshots bewaard worden." #: src/settings_translation_file.cpp msgid "Path to texture directory. All textures are first searched from here." msgstr "" +"Pad van de texturen-map. Naar texturen wordt gezocht beginnend bij deze map." #: src/settings_translation_file.cpp msgid "Physics" -msgstr "" +msgstr "Fysica" #: src/settings_translation_file.cpp msgid "" "Player is able to fly without being affected by gravity.\n" "This requires the \"fly\" privilege on the server." msgstr "" +"Speler kan vliegen, zonder invloed van de zwaartekracht.\n" +"De speler moet wel in het bezit zijn van het \"vliegen\" voorrecht." #: src/settings_translation_file.cpp -#, fuzzy msgid "Player name" -msgstr "Spelernaam te lang." +msgstr "Spelernaam" #: src/settings_translation_file.cpp msgid "Player transfer distance" -msgstr "" +msgstr "Speler verplaatsingsafstand" #: src/settings_translation_file.cpp msgid "Player versus Player" -msgstr "" +msgstr "Speler-gevechten" #: src/settings_translation_file.cpp msgid "" "Port to connect to (UDP).\n" "Note that the port field in the main menu overrides this setting." msgstr "" +"Netwerk-poort (UDP) waarmee verbinding gemaakt moet worden.In het hoofdmenu " +"kan een andere waarde opgegeven worden." #: src/settings_translation_file.cpp msgid "" @@ -3156,27 +3381,33 @@ msgid "" "The generated textures can easily exceed your VRAM, causing artifacts in the " "inventory." msgstr "" +"Genereer beelden van objecten in de rugzak vooraf.\n" +"De start-tijd wordt hierdoor langer, maar het spel wordt vloeiender.\n" +"Dit kost veel geheugen op de videokaart. Als die onvoldoende geheugen heeft " +"kan dit resulteren in vreemde effecten." #: src/settings_translation_file.cpp -#, fuzzy msgid "Preload inventory textures" -msgstr "Bezig met laden van texturen..." +msgstr "Laad rugzak-texturen vooraf" #: src/settings_translation_file.cpp msgid "Prevent mods from doing insecure things like running shell commands." msgstr "" +"Voorkom dat mods onveilige commando's uitvoeren, zoals shell commando's." #: src/settings_translation_file.cpp msgid "Profiler data print interval. 0 = disable. Useful for developers." msgstr "" +"Interval waarmee profiler-gegevens geprint worden. 0 = uitzetten. Dit is " +"nuttig voor ontwikkelaars." #: src/settings_translation_file.cpp msgid "Profiler toggle key" -msgstr "" +msgstr "Profiler aan/uit toets" #: src/settings_translation_file.cpp msgid "Profiling print interval" -msgstr "" +msgstr "Profilergegevens print interval" #: src/settings_translation_file.cpp msgid "" @@ -3184,52 +3415,52 @@ msgid "" "Values larger than 26 will start to produce sharp cutoffs at cloud area " "corners." msgstr "" +"Straal van wolken, in 64-node eenheden.\n" +"Waarden groter dan 26 hebben scherpe wolkenranden tot gevolg." #: src/settings_translation_file.cpp msgid "Random input" -msgstr "" +msgstr "Willekeurige invoer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Range select key" -msgstr "Range instellen" +msgstr "Zichtafstand toets" #: src/settings_translation_file.cpp msgid "Remote media" -msgstr "" +msgstr "Externe media" #: src/settings_translation_file.cpp msgid "Remote port" -msgstr "" +msgstr "Poort van externe server" #: src/settings_translation_file.cpp msgid "Replaces the default main menu with a custom one." -msgstr "" +msgstr "Vervangt het standaard hoofdmenu door een ander." #: src/settings_translation_file.cpp -#, fuzzy msgid "Right key" -msgstr "Rechter Menu" +msgstr "Toets voor rechts" #: src/settings_translation_file.cpp msgid "Rightclick repetition interval" -msgstr "" +msgstr "Rechts-klik herhalingsinterval" #: src/settings_translation_file.cpp msgid "Rollback recording" -msgstr "" +msgstr "Opnemen terugrolgegevens" #: src/settings_translation_file.cpp msgid "Round minimap" -msgstr "" +msgstr "Ronde mini-kaart" #: src/settings_translation_file.cpp msgid "Save the map received by the client on disk." -msgstr "" +msgstr "Bewaar de ontvangen wereld lokaal (op de cliënt)." #: src/settings_translation_file.cpp msgid "Saving map received from server" -msgstr "" +msgstr "Lokaal bewaren van de server-wereld" #: src/settings_translation_file.cpp msgid "" @@ -3239,107 +3470,110 @@ msgid "" "pixels when scaling down, at the cost of blurring some\n" "edge pixels when images are scaled by non-integer sizes." msgstr "" +"Schaal de GUI met een bepaalde factor.\n" +"Er wordt een dichtste-buur-anti-alias filter gebruikt om de GUI te schalen.\n" +"Bij verkleinen worden sommige randen minder duidelijk, en worden\n" +"pixels samengevoegd. Pixels bij randen kunnen vager worden als\n" +"een niet-gehele schaalfactor gebruikt wordt." #: src/settings_translation_file.cpp msgid "Screen height" -msgstr "" +msgstr "Schermhoogte" #: src/settings_translation_file.cpp msgid "Screen width" -msgstr "" +msgstr "Schermbreedte" #: src/settings_translation_file.cpp -#, fuzzy msgid "Screenshot" msgstr "Screenshot" #: src/settings_translation_file.cpp msgid "Screenshot folder" -msgstr "" +msgstr "Map voor screenshots" #: src/settings_translation_file.cpp msgid "Security" -msgstr "" +msgstr "Veiligheid" #: src/settings_translation_file.cpp msgid "See http://www.sqlite.org/pragma.html#pragma_synchronous" -msgstr "" +msgstr "Zie http://www.sqlite.org/pragma.html#pragma_synchronous" #: src/settings_translation_file.cpp msgid "Selection box border color (R,G,B)." -msgstr "" +msgstr "Kleur van selectie-randen (R,G,B)." #: src/settings_translation_file.cpp msgid "Selection box color" -msgstr "" +msgstr "Kleur van selectie-randen" #: src/settings_translation_file.cpp msgid "Selection box width" -msgstr "" +msgstr "Breedte van selectie-randen" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server / Singleplayer" -msgstr "Start Singleplayer" +msgstr "Server / Singleplayer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server URL" -msgstr "Server" +msgstr "Server URL" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server address" -msgstr "Serverpoort" +msgstr "Adres van de server" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server description" -msgstr "Serverpoort" +msgstr "Omschrijving van de server" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server name" -msgstr "Server" +msgstr "Naam van de server" #: src/settings_translation_file.cpp -#, fuzzy msgid "Server port" -msgstr "Serverpoort" +msgstr "Netwerkpoort van de server" #: src/settings_translation_file.cpp -#, fuzzy msgid "Serverlist URL" -msgstr "Publieke Serverlijst" +msgstr "URL van de publieke serverlijst" #: src/settings_translation_file.cpp -#, fuzzy msgid "Serverlist file" -msgstr "Publieke Serverlijst" +msgstr "Bestand met publieke serverlijst" #: src/settings_translation_file.cpp msgid "" "Set the language. Leave empty to use the system language.\n" "A restart is required after changing this." msgstr "" +"Stel de taal in. De systeem-taal wordt gebruikt indien leeg.\n" +"Een herstart is noodzakelijk om de nieuwe taal te activeren." #: src/settings_translation_file.cpp msgid "" "Set to true enables waving leaves.\n" "Requires shaders to be enabled." msgstr "" +"Bewegende bladeren staan aan indien 'true'.Dit vereist dat 'shaders' ook " +"aanstaan." #: src/settings_translation_file.cpp msgid "" "Set to true enables waving plants.\n" "Requires shaders to be enabled." msgstr "" +"Bewegende planten staan aan indien 'true'Dit vereist dat 'shaders' ook " +"aanstaan." #: src/settings_translation_file.cpp msgid "" "Set to true enables waving water.\n" "Requires shaders to be enabled." msgstr "" +"Golvend water staat aan indien 'true'Dit vereist dat 'shaders' ook aanstaan." #: src/settings_translation_file.cpp msgid "Shaders" @@ -3351,52 +3585,58 @@ msgid "" "video cards.\n" "Thy only work with the OpenGL video backend." msgstr "" +"Shaders maken bijzondere visuele effecten mogelijk, en kunnen op sommige " +"videokaarten ook de snelheid verhogen.\n" +"Alleen mogelijk met OpenGL." #: src/settings_translation_file.cpp msgid "Shape of the minimap. Enabled = round, disabled = square." -msgstr "" +msgstr "Vorm van de mini-kaart. Aan = rond, uit = vierkant." #: src/settings_translation_file.cpp msgid "Show debug info" -msgstr "" +msgstr "Toon debug informatie" #: src/settings_translation_file.cpp msgid "Shutdown message" -msgstr "" +msgstr "Afsluitbericht van server" #: src/settings_translation_file.cpp msgid "" "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 " "nodes)." msgstr "" +"Grootte van chunks die per keer gegenereerd worden door de wereldgenerator " +"in mapblokken (16 nodes)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Smooth lighting" -msgstr "Mooie verlichting" +msgstr "Vloeiende verlichting" #: src/settings_translation_file.cpp msgid "" "Smooths camera when moving and looking around.\n" "Useful for recording videos." msgstr "" +"Maakt camerabewegingen vloeiender bij het rondkijken.\n" +"Nuttig bij het opnemen van videos." #: src/settings_translation_file.cpp msgid "Smooths rotation of camera in cinematic mode. 0 to disable." msgstr "" +"Maakt camera-rotatie vloeiender in cintematic modus. 0 om uit te zetten." #: src/settings_translation_file.cpp msgid "Smooths rotation of camera. 0 to disable." -msgstr "" +msgstr "Maakt camera-rotatie vloeiender. O om uit te zetten." #: src/settings_translation_file.cpp -#, fuzzy msgid "Sneak key" -msgstr "Kruipen" +msgstr "Kruipen toets" #: src/settings_translation_file.cpp msgid "Sound" -msgstr "" +msgstr "Geluid" #: src/settings_translation_file.cpp msgid "" @@ -3405,10 +3645,15 @@ msgid "" "(obviously, remote_media should end with a slash).\n" "Files that are not present will be fetched the usual way." msgstr "" +"URL waar de cliënt media kan ophalen, in plaats van deze over UDP\n" +"van de server te ontvangen.\n" +"$filenaam moet via cURL beschikbaar zijn met adres $remote_media$filename\n" +"(remote_media moet dus eindigen in een slash ('/')).\n" +"Bestanden die niet gevonden worden, worden op de normale manier opgehaald." #: src/settings_translation_file.cpp msgid "Static spawnpoint" -msgstr "" +msgstr "Vast geboortepunt" #: src/settings_translation_file.cpp msgid "Strength of generated normalmaps." @@ -3420,16 +3665,15 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Strict protocol checking" -msgstr "" +msgstr "Stricte protocolcontrole" #: src/settings_translation_file.cpp msgid "Synchronous SQLite" -msgstr "" +msgstr "Sqlite synchrone modus" #: src/settings_translation_file.cpp -#, fuzzy msgid "Texture path" -msgstr "Texturen" +msgstr "Pad van texturen" #: src/settings_translation_file.cpp msgid "" @@ -3440,17 +3684,20 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The network interface that the server listens on." -msgstr "" +msgstr "Het netwerk-adres waar de server op verbindingen wacht." #: src/settings_translation_file.cpp msgid "" "The privileges that new users automatically get.\n" "See /privs in game for a full list on your server and mod configuration." msgstr "" +"De voorrechten standaard gegund aan nieuwe spelers.\n" +"Gebruik het server-commando '/privs' in het spel voor een volledige lijst\n" +"van beschikbare voorrechten op de server." #: src/settings_translation_file.cpp msgid "The rendering back-end for Irrlicht." -msgstr "" +msgstr "Het Irrlicht backend voor renderen." #: src/settings_translation_file.cpp msgid "" @@ -3466,34 +3713,44 @@ msgid "" "capacity until an attempt is made to decrease its size by dumping old queue\n" "items. A value of 0 disables the functionality." msgstr "" +"Het aantal seconden dat de vloeistof-verspreidingswachtrij mag groeien\n" +"terwijl die al te lang is. Bij overschrijding van deze tijd worden oude " +"items\n" +"uit de rij verwijderd. Gebruik 0 om dit uit te zetten." #: src/settings_translation_file.cpp msgid "" "The time in seconds it takes between repeated right clicks when holding the " "right mouse button." msgstr "" +"De tijd in seconden tussen herhaalde rechts-klikken als de rechter muisknop " +"ingedrukt gehouden wordt." #: src/settings_translation_file.cpp msgid "This font will be used for certain languages." -msgstr "" +msgstr "Dit font wordt gebruikt voor bepaalde talen." #: src/settings_translation_file.cpp msgid "" "Time in seconds for item entity (dropped items) to live.\n" "Setting it to -1 disables the feature." msgstr "" +"De tijd in seconden dat weggegooide of gevallen objecten bestaan.\n" +"Gebruik -1 voor een onbeperkte bestaansduur." #: src/settings_translation_file.cpp msgid "Time send interval" -msgstr "" +msgstr "Kloktijd verstuur-interval" #: src/settings_translation_file.cpp msgid "Time speed" -msgstr "" +msgstr "Tijdsnelheid" #: src/settings_translation_file.cpp msgid "Timeout for client to remove unused map data from memory." msgstr "" +"Tijdsduur waarna de cliënt ongebruikte wereldgegevens uit het geheugen " +"verwijdert." #: src/settings_translation_file.cpp msgid "" @@ -3502,17 +3759,20 @@ msgid "" "This determines how long they are slowed down after placing or removing a " "node." msgstr "" +"Om vertraging te verminderen worden blokken minder snel verstuurd als een " +"speler aan het bouwen is.\n" +"Deze instelling bepaalt hoelang ze achtergehouden worden nadat een speler " +"een node geplaatst of verwijderd heeft." #: src/settings_translation_file.cpp msgid "Toggle camera mode key" -msgstr "" +msgstr "Camera-modus veranderen toets" #: src/settings_translation_file.cpp msgid "Tooltip delay" -msgstr "" +msgstr "Tooltip tijdsduur" #: src/settings_translation_file.cpp -#, fuzzy msgid "Trilinear filtering" msgstr "Tri-Lineare Filtering" @@ -3522,153 +3782,147 @@ msgid "" "False = 128\n" "Useable to make minimap smoother on slower machines." msgstr "" +"Aan = 256\n" +"Uit = 128\n" +"Gebruik dit om de mini-kaart sneller te maken op langzamere machines." #: src/settings_translation_file.cpp msgid "Trusted mods" -msgstr "" +msgstr "Vertrouwde mods" #: src/settings_translation_file.cpp msgid "URL to the server list displayed in the Multiplayer Tab." -msgstr "" +msgstr "URL voor de serverlijst in de multiplayer tab." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" -msgstr "" +msgstr "Onbeperkte speler zichtbaarheidsafstand" #: src/settings_translation_file.cpp msgid "Unload unused server data" -msgstr "" +msgstr "Vergeet ongebruikte server gegevens" #: src/settings_translation_file.cpp msgid "Use 3D cloud look instead of flat." -msgstr "" +msgstr "Toon 3D wolken in plaats van platte wolken." #: src/settings_translation_file.cpp msgid "Use a cloud animation for the main menu background." -msgstr "" +msgstr "Toon wolken in de achtergrond van het hoofdmenu." #: src/settings_translation_file.cpp msgid "Use anisotropic filtering when viewing at textures from an angle." -msgstr "" +msgstr "Gebruik anisotropische filtering voor texturen getoond onder een hoek." #: src/settings_translation_file.cpp msgid "Use bilinear filtering when scaling textures." -msgstr "" +msgstr "Gebruik bi-lineaire filtering bij het schalen van texturen." #: src/settings_translation_file.cpp -#, fuzzy msgid "Use key" -msgstr "druk op" +msgstr "Gebruiken toets" #: src/settings_translation_file.cpp msgid "Use mip mapping to scale textures. May slightly increase performance." msgstr "" +"Gebruik mip-mapping om texturen te schalen. Kan een snelheidsverbetering " +"geven." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." -msgstr "" +msgstr "Gebruik tri-lineaire filtering om texturen te schalen." #: src/settings_translation_file.cpp -#, fuzzy msgid "Useful for mod developers." -msgstr "Eerdere hoofdontwikkelaars" +msgstr "Nuttig voor mod-ontwikkelaars." #: src/settings_translation_file.cpp msgid "V-Sync" -msgstr "" +msgstr "V-Sync" #: src/settings_translation_file.cpp msgid "Vertical initial window size." -msgstr "" +msgstr "Aanvangshoogte van het window." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." -msgstr "" +msgstr "Vertikale scherm-synchronisatie." #: src/settings_translation_file.cpp msgid "Vertical spawn range" -msgstr "" +msgstr "Vertikaal geboortegebied" #: src/settings_translation_file.cpp msgid "Video driver" -msgstr "" +msgstr "Video driver" #: src/settings_translation_file.cpp msgid "View bobbing" -msgstr "" +msgstr "Loopbeweging" #: src/settings_translation_file.cpp msgid "View range decrease key" -msgstr "" +msgstr "Toets voor verkleinen zichtafstand" #: src/settings_translation_file.cpp msgid "View range increase key" -msgstr "" +msgstr "Toets voor vergroten zichtafstand" #: src/settings_translation_file.cpp msgid "Viewing range maximum" -msgstr "" +msgstr "Maximale zichtafstand" #: src/settings_translation_file.cpp msgid "Viewing range minimum" -msgstr "" +msgstr "Minimale zichtafstand" #: src/settings_translation_file.cpp -#, fuzzy msgid "Volume" -msgstr "Volume" +msgstr "Geluidsniveau" #: src/settings_translation_file.cpp -#, fuzzy msgid "Walking speed" -msgstr "Bewegende bladeren" +msgstr "Loopsnelheid" #: src/settings_translation_file.cpp msgid "Wanted FPS" -msgstr "" +msgstr "Gewenste FPS" #: src/settings_translation_file.cpp msgid "Water level" -msgstr "" +msgstr "Waterniveau" #: src/settings_translation_file.cpp msgid "Water surface level of the world." -msgstr "" +msgstr "Waterniveau van de wereld." #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving Nodes" -msgstr "Bewegende bladeren" +msgstr "Bewegende nodes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving leaves" msgstr "Bewegende bladeren" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving plants" msgstr "Bewegende planten" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water" msgstr "Golvend water" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water height" -msgstr "Golvend water" +msgstr "Golfhoogte van water" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water length" -msgstr "Golvend water" +msgstr "Golflengte van water" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water speed" -msgstr "Golvend water" +msgstr "Golfsnelheid van water" #: src/settings_translation_file.cpp msgid "" @@ -3676,6 +3930,10 @@ msgid "" "filtered in software, but some images are generated directly\n" "to hardware (e.g. render-to-texture for nodes in inventory)." msgstr "" +"Als gui_scaling_filter aan staat worden alle GUI-plaatjes\n" +"softwarematig gefilterd. Sommige plaatjes worden wel direct\n" +"in hardware gegenereerd (bijv. render-to-texture voor nodes\n" +"in de rugzak)." #: src/settings_translation_file.cpp msgid "" @@ -3695,6 +3953,16 @@ msgid "" "have a visible effect unless bilinear/trilinear/anisotropic filtering is\n" "enabled." msgstr "" +"Als bi-lineaire, tri-lineaire of anisotropische filters gebruikt worden, " +"dan\n" +"kunnen lage-resolutie texturen vaag worden. Verhoog hun resolutie dmv\n" +"naaste-buur-interpolatie zodat de scherpte behouden blijft. Deze optie\n" +"bepaalt de minimale textuurgroote na het verhogen van de resolutie. Hogere\n" +"waarden geven een scherper beeld, maar kosten meer geheugen. Het is " +"aanbevolen\n" +"machten van 2 te gebruiken. Een waarde groter dan 1 heeft wellicht geen " +"zichtbaar\n" +"effect indien bi-lineaire, tri-lineaire of anisotropische niet aan staan." #: src/settings_translation_file.cpp msgid "" @@ -3705,62 +3973,77 @@ msgid "" "- Those groups have an offset of -32, -32 nodes from the origin.\n" "- Only groups which are within the map_generation_limit are generated" msgstr "" +"Grenzen van de wereldgenerator.\n" +"- Maximale waarde: 31000 (hogere waarden worden niet gehonoreerd).\n" +"- De wereld wordt gegenereerd per gebied van 80x80x80 nodes (5x5x5 " +"mapblokken).\n" +"- Het centrum-gebied begint op coördinaten (-32, -32, -32).\n" +"- Enkel groepen die vallen binnen map_generation_limit worden gegenereerd" #: src/settings_translation_file.cpp msgid "" "Whether freetype fonts are used, requires freetype support to be compiled in." -msgstr "" +msgstr "Gebruik freetype fonts. Dit vereist dat freetype ingecompileerd is." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." -msgstr "" +msgstr "Node-animaties in wereldblokken niet synchroniseren." #: src/settings_translation_file.cpp msgid "" "Whether players are shown to clients without any range limit.\n" "Deprecated, use the setting player_transfer_distance instead." msgstr "" +"Geef de locatie van spelers door aan cliënten ongeacht de afstand.\n" +"Verouderd. Gebruik 'player_transfer_distance'." #: src/settings_translation_file.cpp msgid "Whether to allow players to damage and kill each other." -msgstr "" +msgstr "Maak het mogelijk dat spelers elkaar kunnen verwonden en doden." #: src/settings_translation_file.cpp msgid "" "Whether to ask clients to reconnect after a (Lua) crash.\n" "Set this to true if your server is set up to restart automatically." msgstr "" +"Verzoek de cliënten om na een servercrash automatisch opnieuw te verbinden.\n" +"Zet dit aan als de server na een crash automatisch herstart." #: src/settings_translation_file.cpp msgid "Whether to fog out the end of the visible area." -msgstr "" +msgstr "Maak het einde van het zichtbereik mistig, zodat het einde niet opvalt." #: src/settings_translation_file.cpp msgid "" "Whether to show the client debug info (has the same effect as hitting F5)." msgstr "" +"Laat debug informatie zien in de cliënt (heeft hetzelfde effect als de F5 " +"toets)." #: src/settings_translation_file.cpp msgid "Width of the selectionbox's lines around nodes." -msgstr "" +msgstr "Breedte van de lijnen om een geselecteerde node." #: src/settings_translation_file.cpp msgid "" "World directory (everything in the world is stored here).\n" "Not needed if starting from the main menu." msgstr "" +"Wereld-map (alle informatie over de wereld staat in deze map).\n" +"Deze instelling is niet nodig als de server vanuit het hoofdmenu wordt " +"gestart." #: src/settings_translation_file.cpp msgid "cURL file download timeout" -msgstr "" +msgstr "timeout voor cURL download" #: src/settings_translation_file.cpp msgid "cURL parallel limit" -msgstr "" +msgstr "Maximaal parallellisme in cURL" #: src/settings_translation_file.cpp msgid "cURL timeout" -msgstr "" +msgstr "cURL timeout" #~ msgid "Are you sure to reset your singleplayer world?" #~ msgstr "Weet je zeker dat je je wereld wilt resetten?" From d1c0aa1ce7586329f5a5c6a9d30712a7025e71ae Mon Sep 17 00:00:00 2001 From: Rui Date: Sat, 19 Dec 2015 11:07:16 +0100 Subject: [PATCH 46/52] Translated using Weblate (Japanese) Currently translated at 40.0% (315 of 787 strings) --- po/ja/minetest.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index c98ebec5a..fcd189d95 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-11-23 07:16+0000\n" +"PO-Revision-Date: 2015-12-19 11:07+0000\n" "Last-Translator: Rui \n" "Language-Team: Japanese " "\n" @@ -136,7 +136,7 @@ msgstr "minetest.netからminetest_gameなどのサブゲームをダウンロ #: builtin/mainmenu/dlg_create_world.lua #, fuzzy msgid "Download one from minetest.net" -msgstr "minetest.netから再ダウンロードしてください" +msgstr "minetest.netからダウンロードしてください" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" @@ -3661,7 +3661,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "cURL timeout" -msgstr "" +msgstr "cURLタイムアウト" #~ msgid "2x" #~ msgstr "2倍" From 7eb3ed8b2a93bb28ebd2e581bf37e6487912d242 Mon Sep 17 00:00:00 2001 From: Gianluca Luparini Date: Mon, 21 Dec 2015 22:09:55 +0100 Subject: [PATCH 47/52] Translated using Weblate (Italian) Currently translated at 43.8% (345 of 787 strings) --- po/it/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index 83226aa21..b6acf55e0 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: Minetest 0.4.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-11-08 21:23+0100\n" -"PO-Revision-Date: 2015-12-14 23:08+0000\n" -"Last-Translator: Luca Argentieri \n" +"PO-Revision-Date: 2015-12-21 22:09+0000\n" +"Last-Translator: Gianluca Luparini \n" "Language-Team: Italian " "\n" "Language: it\n" @@ -451,9 +451,8 @@ msgid "Enabled" msgstr "Attivato" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Format is 3 numbers separated by commas and inside brackets." -msgstr "Il formato è da 3 numeri separati da virgole e dentro parentesi" +msgstr "Il formato è da 3 numeri separati da virgole e dentro parentesi." #: builtin/mainmenu/tab_settings.lua msgid "" @@ -885,6 +884,7 @@ msgid "Apps" msgstr "Applicazioni" #: src/keycode.cpp +#, fuzzy msgid "Attn" msgstr "Attn" From 98d16e0d9a945f5f48462c05f26ae4bde2db5731 Mon Sep 17 00:00:00 2001 From: est31 Date: Wed, 23 Dec 2015 04:51:09 +0100 Subject: [PATCH 48/52] Android: Tell make about sub-makes to speed up build Before, sub-makes called by make were called without make knowing they were sub-makes. This however led make's jobserver not do its tasks, and the build process ended up with inefficient parralelisation. This commit fixes this by applying the two ways the make manual tells about: putting + to the start of the line (used when ndk-build is invoked), and exchanging "make" with "$(MAKE)". Before, make complained with messages like: make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. This complaint can now only been seen for openssl. openssl has issues if make gets exchanged with $(MAKE): if exchanged, above error message is multiplied for various subdirs of the openssl source tree. On a 4 core box, "make -j 4" build time from "make clean_all" cleaned source tree could be improved from 15:34 minutes to 10:45 minutes. This means a speedup of 45%. --- build/android/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/android/Makefile b/build/android/Makefile index 42a46254a..50164d95f 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -229,7 +229,7 @@ openal_download : openal : $(OPENAL_LIB) $(OPENAL_LIB): $(OPENAL_TIMESTAMP) - @REFRESH=0; \ + + @REFRESH=0; \ if [ ! -e ${OPENAL_TIMESTAMP_INT} ] ; then \ REFRESH=1; \ fi; \ @@ -274,7 +274,7 @@ ogg_download : ogg : $(OGG_LIB) $(OGG_LIB): $(OGG_TIMESTAMP) - @REFRESH=0; \ + + @REFRESH=0; \ if [ ! -e ${OGG_TIMESTAMP_INT} ] ; then \ echo "${OGG_TIMESTAMP_INT} doesn't exist"; \ REFRESH=1; \ @@ -419,7 +419,7 @@ freetype_download : freetype : $(FREETYPE_LIB) $(FREETYPE_LIB) : $(FREETYPE_TIMESTAMP) - @REFRESH=0; \ + + @REFRESH=0; \ if [ ! -e ${FREETYPE_TIMESTAMP_INT} ] ; then \ REFRESH=1; \ fi; \ @@ -535,7 +535,7 @@ $(IRRLICHT_TIMESTAMP) : irrlicht_download irrlicht : $(IRRLICHT_LIB) $(IRRLICHT_LIB): $(IRRLICHT_TIMESTAMP) $(FREETYPE_LIB) - @REFRESH=0; \ + + @REFRESH=0; \ if [ ! -e ${IRRLICHT_TIMESTAMP_INT} ] ; then \ REFRESH=1; \ fi; \ From 9c9b02ca8ad2753ad9c2e10e5b40e23029739634 Mon Sep 17 00:00:00 2001 From: Sapier Date: Fri, 18 Dec 2015 20:05:13 +0100 Subject: [PATCH 49/52] Android: shorten initial progress bar text way more simple --- build/android/res/layout/assetcopy.xml | 4 +- .../minetest/minetest/MinetestAssetCopy.java | 44 +------------------ 2 files changed, 5 insertions(+), 43 deletions(-) diff --git a/build/android/res/layout/assetcopy.xml b/build/android/res/layout/assetcopy.xml index ade4b0c98..8ec14bdc2 100644 --- a/build/android/res/layout/assetcopy.xml +++ b/build/android/res/layout/assetcopy.xml @@ -13,8 +13,10 @@ diff --git a/build/android/src/net/minetest/minetest/MinetestAssetCopy.java b/build/android/src/net/minetest/minetest/MinetestAssetCopy.java index 5776e77b5..eb92acb63 100644 --- a/build/android/src/net/minetest/minetest/MinetestAssetCopy.java +++ b/build/android/src/net/minetest/minetest/MinetestAssetCopy.java @@ -254,54 +254,14 @@ public class MinetestAssetCopy extends Activity boolean shortened = false; String todisplay = m_tocopy.get(progress[0]); m_ProgressBar.setProgress(progress[0]); - - // make sure our text doesn't exceed our layout width - Rect bounds = new Rect(); - Paint textPaint = m_Filename.getPaint(); - textPaint.getTextBounds(todisplay, 0, todisplay.length(), bounds); - - while (bounds.width() > getResources().getDisplayMetrics().widthPixels * 0.7) { - if (todisplay.length() < 2) { - break; - } - todisplay = todisplay.substring(1); - textPaint.getTextBounds(todisplay, 0, todisplay.length(), bounds); - shortened = true; - } - - if (! shortened) { - m_Filename.setText(todisplay); - } - else { - m_Filename.setText(".." + todisplay); - } + m_Filename.setText(todisplay); } else { boolean shortened = false; String todisplay = m_Foldername; String full_text = "scanning " + todisplay + " ..."; - // make sure our text doesn't exceed our layout width - Rect bounds = new Rect(); - Paint textPaint = m_Filename.getPaint(); - textPaint.getTextBounds(full_text, 0, full_text.length(), bounds); - - while (bounds.width() > getResources().getDisplayMetrics().widthPixels * 0.7) { - if (todisplay.length() < 2) { - break; - } - todisplay = todisplay.substring(1); - full_text = "scanning " + todisplay + " ..."; - textPaint.getTextBounds(full_text, 0, full_text.length(), bounds); - shortened = true; - } - - if (! shortened) { - m_Filename.setText(full_text); - } - else { - m_Filename.setText("scanning .." + todisplay + " ..."); - } + m_Filename.setText(full_text); } } From cdbb9ef228f40863761fb73ff7575a0b0fb1fea9 Mon Sep 17 00:00:00 2001 From: Sapier Date: Fri, 25 Dec 2015 14:11:39 +0100 Subject: [PATCH 50/52] Add missing documentation of automatic_face_movement_max_rotation_per_sec entity parameter --- doc/lua_api.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 45a47c9ab..b713b68bf 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -3233,6 +3233,8 @@ Definition tables stepheight = 0, automatic_face_movement_dir = 0.0, -- ^ automatically set yaw to movement direction; offset in degrees; false to disable + automatic_face_movement_max_rotation_per_sec = -1, + -- ^ limit automatic rotation to this value in degrees per second. values < 0 no limit backface_culling = true, -- false to disable backface_culling for model nametag = "", -- by default empty, for players their name is shown if empty nametag_color = , -- sets color of nametag as ColorSpec From e834e83ed8c1208dcfe945abf5900e278fa3f518 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 23 Dec 2015 23:51:06 +0100 Subject: [PATCH 51/52] Update URLs for buildbot & travis The freehoster these files were hosted on is shutting down soon-ish, they're now hosted on my VPS. --- util/buildbot/buildwin32.sh | 26 +++++++++++++------------- util/buildbot/buildwin64.sh | 22 +++++++++++----------- util/travis/before_install.sh | 6 +++--- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh index a9126b9fa..78d189b87 100755 --- a/util/buildbot/buildwin32.sh +++ b/util/buildbot/buildwin32.sh @@ -30,31 +30,31 @@ mkdir -p $libdir cd $builddir # Get stuff -[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://sfan5.pf-control.de/irrlicht-$irrlicht_version-win32.zip \ +[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://minetest.kitsunemimi.pw/irrlicht-$irrlicht_version-win32.zip \ -c -O $packagedir/irrlicht-$irrlicht_version.zip -[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://sfan5.pf-control.de/zlib-$zlib_version-win32.zip \ +[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://minetest.kitsunemimi.pw/zlib-$zlib_version-win32.zip \ -c -O $packagedir/zlib-$zlib_version.zip -[ -e $packagedir/libogg-$ogg_version-dev.7z ] || wget http://sfan5.pf-control.de/libogg-$ogg_version-dev.7z \ +[ -e $packagedir/libogg-$ogg_version-dev.7z ] || wget http://minetest.kitsunemimi.pw/libogg-$ogg_version-dev.7z \ -c -O $packagedir/libogg-$ogg_version-dev.7z -[ -e $packagedir/libogg-$ogg_version-dll.7z ] || wget http://sfan5.pf-control.de/libogg-$ogg_version-dll.7z \ +[ -e $packagedir/libogg-$ogg_version-dll.7z ] || wget http://minetest.kitsunemimi.pw/libogg-$ogg_version-dll.7z \ -c -O $packagedir/libogg-$ogg_version-dll.7z -[ -e $packagedir/libvorbis-$vorbis_version-dev.7z ] || wget http://sfan5.pf-control.de/libvorbis-$vorbis_version-dev.7z \ +[ -e $packagedir/libvorbis-$vorbis_version-dev.7z ] || wget http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-dev.7z \ -c -O $packagedir/libvorbis-$vorbis_version-dev.7z -[ -e $packagedir/libvorbis-$vorbis_version-dll.7z ] || wget http://sfan5.pf-control.de/libvorbis-$vorbis_version-dll.7z \ +[ -e $packagedir/libvorbis-$vorbis_version-dll.7z ] || wget http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-dll.7z \ -c -O $packagedir/libvorbis-$vorbis_version-dll.7z -[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://sfan5.pf-control.de/libcurl-$curl_version-win32.zip \ +[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://minetest.kitsunemimi.pw/libcurl-$curl_version-win32.zip \ -c -O $packagedir/libcurl-$curl_version.zip -[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://sfan5.pf-control.de/gettext-$gettext_version.zip \ +[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://minetest.kitsunemimi.pw/gettext-$gettext_version.zip \ -c -O $packagedir/gettext-$gettext_version.zip -[ -e $packagedir/libfreetype-$freetype_version.zip ] || wget http://sfan5.pf-control.de/libfreetype-$freetype_version-win32.zip \ +[ -e $packagedir/libfreetype-$freetype_version.zip ] || wget http://minetest.kitsunemimi.pw/libfreetype-$freetype_version-win32.zip \ -c -O $packagedir/libfreetype-$freetype_version.zip -[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://sfan5.pf-control.de/sqlite3-$sqlite3_version-win32.zip \ +[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://minetest.kitsunemimi.pw/sqlite3-$sqlite3_version-win32.zip \ -c -O $packagedir/sqlite3-$sqlite3_version.zip -[ -e $packagedir/luajit-$luajit_version-static-win32.zip ] || wget http://sfan5.pf-control.de/luajit-$luajit_version-static-win32.zip \ +[ -e $packagedir/luajit-$luajit_version-static-win32.zip ] || wget http://minetest.kitsunemimi.pw/luajit-$luajit_version-static-win32.zip \ -c -O $packagedir/luajit-$luajit_version-static-win32.zip -[ -e $packagedir/libleveldb-$leveldb_version-win32.zip ] || wget http://sfan5.pf-control.de/libleveldb-$leveldb_version-win32.zip \ +[ -e $packagedir/libleveldb-$leveldb_version-win32.zip ] || wget http://minetest.kitsunemimi.pw/libleveldb-$leveldb_version-win32.zip \ -c -O $packagedir/libleveldb-$leveldb_version-win32.zip -[ -e $packagedir/openal_stripped.zip ] || wget http://sfan5.pf-control.de/openal_stripped.zip \ +[ -e $packagedir/openal_stripped.zip ] || wget http://minetest.kitsunemimi.pw/openal_stripped.zip \ -c -O $packagedir/openal_stripped.zip # Extract stuff diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh index 6ab56e721..e13cbd024 100755 --- a/util/buildbot/buildwin64.sh +++ b/util/buildbot/buildwin64.sh @@ -30,27 +30,27 @@ mkdir -p $libdir cd $builddir # Get stuff -[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://sfan5.pf-control.de/irrlicht-$irrlicht_version-win64.zip \ +[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://minetest.kitsunemimi.pw/irrlicht-$irrlicht_version-win64.zip \ -c -O $packagedir/irrlicht-$irrlicht_version.zip -[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://sfan5.pf-control.de/zlib-$zlib_version-win64.zip \ +[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://minetest.kitsunemimi.pw/zlib-$zlib_version-win64.zip \ -c -O $packagedir/zlib-$zlib_version.zip -[ -e $packagedir/libogg-$ogg_version.zip ] || wget http://sfan5.pf-control.de/libogg-$ogg_version-win64.zip \ +[ -e $packagedir/libogg-$ogg_version.zip ] || wget http://minetest.kitsunemimi.pw/libogg-$ogg_version-win64.zip \ -c -O $packagedir/libogg-$ogg_version.zip -[ -e $packagedir/libvorbis-$vorbis_version.zip ] || wget http://sfan5.pf-control.de/libvorbis-$vorbis_version-win64.zip \ +[ -e $packagedir/libvorbis-$vorbis_version.zip ] || wget http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-win64.zip \ -c -O $packagedir/libvorbis-$vorbis_version.zip -[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://sfan5.pf-control.de/libcurl-$curl_version-win64.zip \ +[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://minetest.kitsunemimi.pw/libcurl-$curl_version-win64.zip \ -c -O $packagedir/libcurl-$curl_version.zip -[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://sfan5.pf-control.de/gettext-$gettext_version-win64.zip \ +[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://minetest.kitsunemimi.pw/gettext-$gettext_version-win64.zip \ -c -O $packagedir/gettext-$gettext_version.zip -[ -e $packagedir/freetype-$freetype_version.zip ] || wget http://sfan5.pf-control.de/libfreetype-$freetype_version-win64.zip \ +[ -e $packagedir/freetype-$freetype_version.zip ] || wget http://minetest.kitsunemimi.pw/libfreetype-$freetype_version-win64.zip \ -c -O $packagedir/freetype-$freetype_version.zip -[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://sfan5.pf-control.de/sqlite3-$sqlite3_version-win64.zip \ +[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://minetest.kitsunemimi.pw/sqlite3-$sqlite3_version-win64.zip \ -c -O $packagedir/sqlite3-$sqlite3_version.zip -[ -e $packagedir/luajit-$luajit_version.zip ] || wget http://sfan5.pf-control.de/luajit-$luajit_version-static-win64.zip \ +[ -e $packagedir/luajit-$luajit_version.zip ] || wget http://minetest.kitsunemimi.pw/luajit-$luajit_version-static-win64.zip \ -c -O $packagedir/luajit-$luajit_version.zip -[ -e $packagedir/libleveldb-$leveldb_version.zip ] || wget http://sfan5.pf-control.de/libleveldb-$leveldb_version-win64.zip \ +[ -e $packagedir/libleveldb-$leveldb_version.zip ] || wget http://minetest.kitsunemimi.pw/libleveldb-$leveldb_version-win64.zip \ -c -O $packagedir/libleveldb-$leveldb_version.zip -[ -e $packagedir/openal_stripped.zip ] || wget http://sfan5.pf-control.de/openal_stripped64.zip \ +[ -e $packagedir/openal_stripped.zip ] || wget http://minetest.kitsunemimi.pw/openal_stripped64.zip \ -c -O $packagedir/openal_stripped.zip diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh index 20f6674ae..e3276e0db 100755 --- a/util/travis/before_install.sh +++ b/util/travis/before_install.sh @@ -15,16 +15,16 @@ if [[ $PLATFORM == "Linux" ]]; then libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \ libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev gettext # Linking to LevelDB is broken, use a custom build - wget http://sfan5.pf-control.de/libleveldb-1.18-ubuntu12.04.7z + wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z sudo 7z x -o/usr libleveldb-1.18-ubuntu12.04.7z elif [[ $PLATFORM == "Win32" ]]; then - wget http://sfan5.pf-control.de/mingw_w64_i686_ubuntu12.04_4.9.1.7z -O mingw.7z + wget http://minetest.kitsunemimi.pw/mingw_w64_i686_ubuntu12.04_4.9.1.7z -O mingw.7z sed -e "s|%PREFIX%|i686-w64-mingw32|" \ -e "s|%ROOTPATH%|/usr/i686-w64-mingw32|" \ < util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw.cmake sudo 7z x -y -o/usr mingw.7z elif [[ $PLATFORM == "Win64" ]]; then - wget http://sfan5.pf-control.de/mingw_w64_x86_64_ubuntu12.04_4.9.1.7z -O mingw.7z + wget http://minetest.kitsunemimi.pw/mingw_w64_x86_64_ubuntu12.04_4.9.1.7z -O mingw.7z sed -e "s|%PREFIX%|x86_64-w64-mingw32|" \ -e "s|%ROOTPATH%|/usr/x86_64-w64-mingw32|" \ < util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw64.cmake From 382ab969d4de29cd5f74db2de433a37254d40d2a Mon Sep 17 00:00:00 2001 From: "jeanpatrick.guerrero@gmail.com" Date: Fri, 25 Dec 2015 22:10:29 +0100 Subject: [PATCH 52/52] Alphabetical sorting of texture packs in menu (fixes #3487) --- builtin/mainmenu/tab_texturepacks.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/builtin/mainmenu/tab_texturepacks.lua b/builtin/mainmenu/tab_texturepacks.lua index 5514d31f9..d8b9ba35f 100644 --- a/builtin/mainmenu/tab_texturepacks.lua +++ b/builtin/mainmenu/tab_texturepacks.lua @@ -17,12 +17,16 @@ -------------------------------------------------------------------------------- local function filter_texture_pack_list(list) - local retval = {fgettext("None")} + local retval = {} for _, item in ipairs(list) do if item ~= "base" then table.insert(retval, item) end end + + table.sort(retval) + table.insert(retval, 1, fgettext("None")) + return retval end