Compare commits
219 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b3e553dd5 | ||
|
|
bfa608b85e | ||
|
|
7cb5217255 | ||
|
|
4f6bec19bc | ||
|
|
649dca4d16 | ||
|
|
601ab85226 | ||
|
|
e988df0fbd | ||
|
|
b89c79e905 | ||
|
|
9fe74a34ea | ||
|
|
64befefcfc | ||
|
|
6f9d384311 | ||
|
|
c25102a4f7 | ||
|
|
c893958bb1 | ||
|
|
db9c86d6c1 | ||
|
|
1dfc2e02b3 | ||
|
|
ec039a3d12 | ||
|
|
77acdfed43 | ||
|
|
926a47f35b | ||
|
|
df2f4168e5 | ||
|
|
fe560d81e7 | ||
|
|
64627817fc | ||
|
|
a61aa6690b | ||
|
|
7721948a2f | ||
|
|
6b2c46c431 | ||
|
|
83f1d7cd9e | ||
|
|
13f7049d84 | ||
|
|
503e61cf2b | ||
|
|
efc75db764 | ||
|
|
f62ddf9022 | ||
|
|
96fe1de832 | ||
|
|
730d316efe | ||
|
|
e464f19356 | ||
|
|
ab43377577 | ||
|
|
865f380c91 | ||
|
|
3abbe7efd1 | ||
|
|
7f6e9e9540 | ||
|
|
4a9fe1a1d5 | ||
|
|
e57dc4ef18 | ||
|
|
c67f72890c | ||
|
|
5e80df46b8 | ||
|
|
c135e9c7d4 | ||
|
|
1ba1fb42a4 | ||
|
|
127c488355 | ||
|
|
981c6c9bf2 | ||
|
|
d00e8bd31a | ||
|
|
55a97f4605 | ||
|
|
3e2efdf18a | ||
|
|
bc66f46323 | ||
|
|
cc92e45b78 | ||
|
|
b2253e5b42 | ||
|
|
dcd0b63f64 | ||
|
|
b2577b1f27 | ||
|
|
93474c4218 | ||
|
|
f577facf79 | ||
|
|
45fcc9de29 | ||
|
|
b24f7a4d13 | ||
|
|
6074163bf3 | ||
|
|
b76ec317c9 | ||
|
|
714ecc5e27 | ||
|
|
9397b5de08 | ||
|
|
1369503aba | ||
|
|
fedf644635 | ||
|
|
f9b5771274 | ||
|
|
8512cd967d | ||
|
|
94eb370710 | ||
|
|
587e7b299b | ||
|
|
d5ca3b721e | ||
|
|
27f5ff950e | ||
|
|
4a95c37e14 | ||
|
|
5d9ab86adf | ||
|
|
e0564d5de0 | ||
|
|
be96fa2fb8 | ||
|
|
726dcaacb6 | ||
|
|
70190624c6 | ||
|
|
71e5a466a6 | ||
|
|
822723c246 | ||
|
|
bda62bd3bf | ||
|
|
efc9329033 | ||
|
|
2c09e8a84c | ||
|
|
9575b0a2a8 | ||
|
|
6911a7d279 | ||
|
|
5068cb40ce | ||
|
|
e5781b5e34 | ||
|
|
782d06be46 | ||
|
|
81c863ac4d | ||
|
|
d859ad7ed7 | ||
|
|
ee1155fe6d | ||
|
|
3b1c3ac678 | ||
|
|
3332f606ed | ||
|
|
f00cee75c1 | ||
|
|
0913287578 | ||
|
|
7b41f54411 | ||
|
|
03ab6aa24c | ||
|
|
9a559eb8cf | ||
|
|
58f036ad1d | ||
|
|
098692ef26 | ||
|
|
a888b232fe | ||
|
|
b88aa81da7 | ||
|
|
8d5b400d09 | ||
|
|
969d2b3eb1 | ||
|
|
a031a15487 | ||
|
|
777ac58f85 | ||
|
|
be4cc306a5 | ||
|
|
0deb68d81c | ||
|
|
b75505e6b2 | ||
|
|
ee8067f7cf | ||
|
|
2cf76f6f1b | ||
|
|
80874391b8 | ||
|
|
2708482f1b | ||
|
|
084be3599a | ||
|
|
b28734c82c | ||
|
|
d07000ed1d | ||
|
|
647f1cbfe5 | ||
|
|
2b0d1710a5 | ||
|
|
97cddd1b96 | ||
|
|
f1f2004cb9 | ||
|
|
289c4a7776 | ||
|
|
97790c7711 | ||
|
|
149b51967d | ||
|
|
898a4e441f | ||
|
|
a4183994a4 | ||
|
|
c824abd7b2 | ||
|
|
d7395cd2ab | ||
|
|
8767c78169 | ||
|
|
0fb9567f13 | ||
|
|
43a388ec53 | ||
|
|
d3f0ce6224 | ||
|
|
d83602d98e | ||
|
|
c33b993397 | ||
|
|
88ffb3f73b | ||
|
|
386108f982 | ||
|
|
ddd2b18321 | ||
|
|
bc3072b35e | ||
|
|
e9a4e98cb9 | ||
|
|
53da8bd1c8 | ||
|
|
625a4c2e66 | ||
|
|
e703c5b81f | ||
|
|
33dd267fd9 | ||
|
|
a699bdb7a1 | ||
|
|
770305e28d | ||
|
|
36747794ab | ||
|
|
c03c296dc7 | ||
|
|
4a9b8aae5e | ||
|
|
3d4d0cb574 | ||
|
|
9894167bbf | ||
|
|
7c37b1891a | ||
|
|
418c2e7a44 | ||
|
|
4117ab473b | ||
|
|
93d36e88f9 | ||
|
|
b11834605b | ||
|
|
58ded5cd27 | ||
|
|
bc6f3e4e00 | ||
|
|
37e6d1356b | ||
|
|
daddd37706 | ||
|
|
14ba94ad6a | ||
|
|
03868ff8e1 | ||
|
|
527deb947c | ||
|
|
c45c530f74 | ||
|
|
47f60aebcd | ||
|
|
852f768a75 | ||
|
|
9e6376bd95 | ||
|
|
e385af7cc0 | ||
|
|
220c4f1142 | ||
|
|
0a376c1d50 | ||
|
|
b83e9225b7 | ||
|
|
ca8c1b6134 | ||
|
|
a71bfb4b60 | ||
|
|
e60eb32050 | ||
|
|
666aae3593 | ||
|
|
49f6e347f0 | ||
|
|
1f42479e0c | ||
|
|
9e0bb94460 | ||
|
|
ce901f4c4c | ||
|
|
7cd5eb4c77 | ||
|
|
17cfb1850d | ||
|
|
e7f5cdf9d4 | ||
|
|
dda2071cc0 | ||
|
|
6e4fdf37ba | ||
|
|
7d002b60ff | ||
|
|
04c3b17c78 | ||
|
|
58fd39de35 | ||
|
|
9449026839 | ||
|
|
e7247c1a66 | ||
|
|
0d26bb36af | ||
|
|
10502b59bc | ||
|
|
abe74ea5ea | ||
|
|
98182f6097 | ||
|
|
cd27c8ef5d | ||
|
|
2bdff11d54 | ||
|
|
7a32698312 | ||
|
|
5743ef4e64 | ||
|
|
3b684d306c | ||
|
|
e1146396bc | ||
|
|
7c0e707cf1 | ||
|
|
feb7de91ec | ||
|
|
4468ea84e6 | ||
|
|
96e2931c5c | ||
|
|
5961106f9f | ||
|
|
fbf76184f0 | ||
|
|
8ec3fc35c6 | ||
|
|
d50b2ede92 | ||
|
|
453d79e3a2 | ||
|
|
046534e14b | ||
|
|
120f02e20b | ||
|
|
becd8c03fd | ||
|
|
69367aa799 | ||
|
|
97f0bb0342 | ||
|
|
1586cdac53 | ||
|
|
1bae82e6c4 | ||
|
|
2fb0e547a0 | ||
|
|
1a5dcfd0c8 | ||
|
|
e38d65f8d1 | ||
|
|
33052abf42 | ||
|
|
b0e6806077 | ||
|
|
76b86c0368 | ||
|
|
c5a8448c41 | ||
|
|
2a0badf2d5 | ||
|
|
6b8435cf8c | ||
|
|
c1bf6f9f7a |
9
.gitignore
vendored
9
.gitignore
vendored
@@ -32,11 +32,17 @@ src/CMakeFiles/*
|
||||
src/Makefile
|
||||
src/cmake_config.h
|
||||
src/cmake_install.cmake
|
||||
src/script/CMakeFiles/*
|
||||
src/script/common/CMakeFiles/*
|
||||
src/script/cpp_api/CMakeFiles/*
|
||||
src/script/lua_api/CMakeFiles/*
|
||||
src/util/CMakeFiles/*
|
||||
src/jthread/CMakeFiles/*
|
||||
src/jthread/Makefile
|
||||
src/jthread/cmake_config.h
|
||||
src/jthread/cmake_install.cmake
|
||||
src/jthread/libjthread.a
|
||||
src/json/libjson.a
|
||||
src/lua/build/
|
||||
src/lua/CMakeFiles/
|
||||
src/cguittfont/CMakeFiles/
|
||||
@@ -53,4 +59,7 @@ CPackSourceConfig.cmake
|
||||
Makefile
|
||||
cmake_install.cmake
|
||||
locale/
|
||||
*.cbp
|
||||
*.layout
|
||||
*.o
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
|
||||
# Also remember to set PROTOCOL_VERSION in clientserver.h when releasing
|
||||
set(VERSION_MAJOR 0)
|
||||
set(VERSION_MINOR 4)
|
||||
set(VERSION_PATCH 6)
|
||||
set(VERSION_PATCH 7)
|
||||
if(VERSION_EXTRA)
|
||||
set(VERSION_PATCH ${VERSION_PATCH}-${VERSION_EXTRA})
|
||||
endif()
|
||||
@@ -133,23 +133,19 @@ endif()
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/builtin" DESTINATION "${SHAREDIR}")
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/client" DESTINATION "${SHAREDIR}")
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minimal" DESTINATION "${SHAREDIR}/games")
|
||||
set(COMMON_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/games/common")
|
||||
if(EXISTS ${COMMON_SOURCE} AND IS_DIRECTORY ${COMMON_SOURCE})
|
||||
install(FILES ${COMMON_SOURCE}/README.txt DESTINATION "${SHAREDIR}/games/common/")
|
||||
install(DIRECTORY ${COMMON_SOURCE}/mods DESTINATION "${SHAREDIR}/games/common")
|
||||
endif()
|
||||
set(MINETEST_GAME_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/games/minetest_game")
|
||||
if(EXISTS ${MINETEST_GAME_SOURCE} AND IS_DIRECTORY ${MINETEST_GAME_SOURCE})
|
||||
install(FILES ${MINETEST_GAME_SOURCE}/game.conf DESTINATION "${SHAREDIR}/games/minetest_game/")
|
||||
install(FILES ${MINETEST_GAME_SOURCE}/README.txt DESTINATION "${SHAREDIR}/games/minetest_game/")
|
||||
install(DIRECTORY ${MINETEST_GAME_SOURCE}/mods DESTINATION "${SHAREDIR}/games/minetest_game")
|
||||
install(DIRECTORY ${MINETEST_GAME_SOURCE}/menu DESTINATION "${SHAREDIR}/games/minetest_game")
|
||||
endif()
|
||||
if(BUILD_CLIENT)
|
||||
#install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/sounds/base/pack" DESTINATION "${SHAREDIR}/sounds/base")
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/textures/base/pack" DESTINATION "${SHAREDIR}/textures/base")
|
||||
endif()
|
||||
if(RUN_IN_PLACE)
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/mods/minetest/mods_here.txt" DESTINATION "${SHAREDIR}/mods/minetest")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/mods/mods_here.txt" DESTINATION "${SHAREDIR}/mods")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/textures/all/textures_here.txt" DESTINATION "${SHAREDIR}/textures/all")
|
||||
endif()
|
||||
|
||||
|
||||
48
README.txt
48
README.txt
@@ -9,10 +9,9 @@ and contributors (see source file comments and the version control log)
|
||||
In case you downloaded the source code:
|
||||
---------------------------------------
|
||||
If you downloaded the Minetest Engine source code in which this file is
|
||||
contained, you probably want to download these projects too:
|
||||
https://github.com/minetest/common/
|
||||
contained, you probably want to download the minetest_game project too:
|
||||
https://github.com/minetest/minetest_game/
|
||||
See the README.txt in them.
|
||||
See the README.txt in it.
|
||||
|
||||
Further documentation
|
||||
----------------------
|
||||
@@ -30,13 +29,17 @@ This game is not finished
|
||||
|
||||
Default Controls
|
||||
-----------------
|
||||
- WASD: Move
|
||||
- Space: Jump
|
||||
- E: Go down
|
||||
- Shift: Sneak
|
||||
- Q: Drop item
|
||||
- I: Open inventory
|
||||
- Mouse: Turn/look
|
||||
- WASD: move
|
||||
- Space: jump/climb
|
||||
- Shift: sneak/go down
|
||||
- Q: drop item
|
||||
- I: inventory
|
||||
- Mouse: turn/look
|
||||
- Mouse left: dig/punch
|
||||
- Mouse right: place/use
|
||||
- Mouse wheel: select item
|
||||
- Esc: pause menu
|
||||
- T: chat
|
||||
- Settable in the configuration file, see the section below.
|
||||
|
||||
Paths
|
||||
@@ -88,13 +91,6 @@ $ wget https://github.com/minetest/minetest/tarball/master -O master.tar.gz
|
||||
$ tar xf master.tar.gz
|
||||
$ cd minetest-minetest-286edd4 (or similar)
|
||||
|
||||
Download common (needed for minetest_game and some others)
|
||||
$ cd games/
|
||||
$ wget https://github.com/minetest/common/tarball/master -O common.tar.gz
|
||||
$ tar xf common.tar.gz
|
||||
$ mv minetest-common-* common
|
||||
$ cd ..
|
||||
|
||||
Download minetest_game (otherwise only the "Minimal development test" game is available)
|
||||
$ cd games/
|
||||
$ wget https://github.com/minetest/minetest_game/tarball/master -O minetest_game.tar.gz
|
||||
@@ -120,7 +116,7 @@ $ ./minetest
|
||||
Compiling on Windows:
|
||||
---------------------
|
||||
- This section is outdated. In addition to what is described here:
|
||||
- In addition to minetest, you need to download common and minetest_game.
|
||||
- In addition to minetest, you need to download minetest_game.
|
||||
- If you wish to have sound support, you need libogg, libvorbis and libopenal
|
||||
|
||||
- You need:
|
||||
@@ -263,6 +259,20 @@ distribution.
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
Authors of media files
|
||||
-----------------------
|
||||
Everything not listed in here:
|
||||
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
|
||||
BlockMen:
|
||||
textures/base/pack/menuheader.png
|
||||
|
||||
erlehmann:
|
||||
misc/minetest-icon-24x24.png
|
||||
misc/minetest-icon.ico
|
||||
misc/minetest-icon.svg
|
||||
textures/base/pack/logo.png
|
||||
|
||||
License of Minetest source code
|
||||
-------------------------------
|
||||
|
||||
@@ -277,7 +287,7 @@ the Free Software Foundation; either version 2.1 of the License, or
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
|
||||
@@ -24,4 +24,5 @@ dofile(minetest.get_modpath("__builtin").."/chatcommands.lua")
|
||||
dofile(minetest.get_modpath("__builtin").."/static_spawn.lua")
|
||||
dofile(minetest.get_modpath("__builtin").."/detached_inventory.lua")
|
||||
dofile(minetest.get_modpath("__builtin").."/falling.lua")
|
||||
dofile(minetest.get_modpath("__builtin").."/features.lua")
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ minetest.register_chatcommand("teleport", {
|
||||
}
|
||||
for _, d in ipairs(tries) do
|
||||
local p = {x = pos.x+d.x, y = pos.y+d.y, z = pos.z+d.z}
|
||||
local n = minetest.env:get_node(p)
|
||||
local n = minetest.get_node(p)
|
||||
if not minetest.registered_nodes[n.name].walkable then
|
||||
return p, true
|
||||
end
|
||||
@@ -272,7 +272,7 @@ minetest.register_chatcommand("teleport", {
|
||||
local teleportee = nil
|
||||
local p = {}
|
||||
p.x, p.y, p.z = string.match(param, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$")
|
||||
teleportee = minetest.env:get_player_by_name(name)
|
||||
teleportee = minetest.get_player_by_name(name)
|
||||
if teleportee and p.x and p.y and p.z then
|
||||
minetest.chat_send_player(name, "Teleporting to ("..p.x..", "..p.y..", "..p.z..")")
|
||||
teleportee:setpos(p)
|
||||
@@ -283,9 +283,9 @@ minetest.register_chatcommand("teleport", {
|
||||
local p = nil
|
||||
local target_name = nil
|
||||
target_name = string.match(param, "^([^ ]+)$")
|
||||
teleportee = minetest.env:get_player_by_name(name)
|
||||
teleportee = minetest.get_player_by_name(name)
|
||||
if target_name then
|
||||
local target = minetest.env:get_player_by_name(target_name)
|
||||
local target = minetest.get_player_by_name(target_name)
|
||||
if target then
|
||||
p = target:getpos()
|
||||
end
|
||||
@@ -303,7 +303,7 @@ minetest.register_chatcommand("teleport", {
|
||||
local teleportee_name = nil
|
||||
teleportee_name, p.x, p.y, p.z = string.match(param, "^([^ ]+) +([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$")
|
||||
if teleportee_name then
|
||||
teleportee = minetest.env:get_player_by_name(teleportee_name)
|
||||
teleportee = minetest.get_player_by_name(teleportee_name)
|
||||
end
|
||||
if teleportee and p.x and p.y and p.z then
|
||||
minetest.chat_send_player(name, "Teleporting "..teleportee_name.." to ("..p.x..", "..p.y..", "..p.z..")")
|
||||
@@ -317,10 +317,10 @@ minetest.register_chatcommand("teleport", {
|
||||
local target_name = nil
|
||||
teleportee_name, target_name = string.match(param, "^([^ ]+) +([^ ]+)$")
|
||||
if teleportee_name then
|
||||
teleportee = minetest.env:get_player_by_name(teleportee_name)
|
||||
teleportee = minetest.get_player_by_name(teleportee_name)
|
||||
end
|
||||
if target_name then
|
||||
local target = minetest.env:get_player_by_name(target_name)
|
||||
local target = minetest.get_player_by_name(target_name)
|
||||
if target then
|
||||
p = target:getpos()
|
||||
end
|
||||
@@ -402,7 +402,7 @@ local function handle_give_command(cmd, giver, receiver, stackstring)
|
||||
minetest.chat_send_player(giver, 'error: cannot give an unknown item')
|
||||
return
|
||||
end
|
||||
local receiverref = minetest.env:get_player_by_name(receiver)
|
||||
local receiverref = minetest.get_player_by_name(receiver)
|
||||
if receiverref == nil then
|
||||
minetest.chat_send_player(giver, receiver..' is not a known player')
|
||||
return
|
||||
@@ -466,14 +466,14 @@ minetest.register_chatcommand("spawnentity", {
|
||||
return
|
||||
end
|
||||
print('/spawnentity invoked, entityname="'..entityname..'"')
|
||||
local player = minetest.env:get_player_by_name(name)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player == nil then
|
||||
print("Unable to spawn entity, player is nil")
|
||||
return true -- Handled chat message
|
||||
end
|
||||
local p = player:getpos()
|
||||
p.y = p.y + 1
|
||||
minetest.env:add_entity(p, entityname)
|
||||
minetest.add_entity(p, entityname)
|
||||
minetest.chat_send_player(name, '"'..entityname
|
||||
..'" spawned.');
|
||||
end,
|
||||
@@ -483,7 +483,7 @@ minetest.register_chatcommand("pulverize", {
|
||||
description = "delete item in hand",
|
||||
privs = {},
|
||||
func = function(name, param)
|
||||
local player = minetest.env:get_player_by_name(name)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player == nil then
|
||||
print("Unable to pulverize, player is nil")
|
||||
return true -- Handled chat message
|
||||
@@ -533,7 +533,7 @@ minetest.register_chatcommand("rollback_check", {
|
||||
if act_p.x ~= pos.x or act_p.y ~= pos.y or act_p.z ~= pos.z then
|
||||
nodedesc = minetest.pos_to_string(act_p)
|
||||
end
|
||||
local nodename = minetest.env:get_node(act_p).name
|
||||
local nodename = minetest.get_node(act_p).name
|
||||
minetest.chat_send_player(name, "Last actor on "..nodedesc..
|
||||
" was "..actor..", "..dump(act_seconds)..
|
||||
"s ago (node is now "..nodename..")")
|
||||
@@ -598,7 +598,7 @@ minetest.register_chatcommand("time", {
|
||||
if newtime == nil then
|
||||
minetest.chat_send_player(name, "Invalid time")
|
||||
else
|
||||
minetest.env:set_timeofday((newtime % 24000) / 24000)
|
||||
minetest.set_timeofday((newtime % 24000) / 24000)
|
||||
minetest.chat_send_player(name, "Time of day changed.")
|
||||
minetest.log("action", name .. " sets time " .. newtime)
|
||||
end
|
||||
@@ -625,7 +625,7 @@ minetest.register_chatcommand("ban", {
|
||||
minetest.chat_send_player(name, "Ban list: " .. minetest.get_ban_list())
|
||||
return
|
||||
end
|
||||
if not minetest.env:get_player_by_name(param) then
|
||||
if not minetest.get_player_by_name(param) then
|
||||
minetest.chat_send_player(name, "No such player")
|
||||
return
|
||||
end
|
||||
@@ -660,8 +660,28 @@ minetest.register_chatcommand("clearobjects", {
|
||||
func = function(name, param)
|
||||
minetest.log("action", name .. " clears all objects")
|
||||
minetest.chat_send_all("Clearing all objects. This may take long. You may experience a timeout. (by " .. name .. ")")
|
||||
minetest.env:clear_objects()
|
||||
minetest.clear_objects()
|
||||
minetest.log("action", "object clearing done")
|
||||
minetest.chat_send_all("*** Cleared all objects.")
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("msg", {
|
||||
params = "<name> <message>",
|
||||
description = "Send a private message",
|
||||
privs = {shout=true},
|
||||
func = function(name, param)
|
||||
local found, _, sendto, message = param:find("^([^%s]+)%s(.+)$")
|
||||
if found then
|
||||
if minetest.get_player_by_name(sendto) then
|
||||
minetest.log("action", "PM from "..name.." to "..sendto..": "..message)
|
||||
minetest.chat_send_player(sendto, "PM from "..name..": "..message, false)
|
||||
minetest.chat_send_player(name, "Message sent")
|
||||
else
|
||||
minetest.chat_send_player(name, "The player "..sendto.." is not online")
|
||||
end
|
||||
else
|
||||
minetest.chat_send_player(name, "Invalid usage, see /help msg")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
@@ -24,3 +24,25 @@ minetest.add_to_creative_inventory = function(itemstring)
|
||||
minetest.log('info', "WARNING: minetest.add_to_creative_inventory: This function is deprecated and does nothing.")
|
||||
end
|
||||
|
||||
--
|
||||
-- EnvRef
|
||||
--
|
||||
minetest.env = {}
|
||||
local envref_deprecation_message_printed = false
|
||||
setmetatable(minetest.env, {
|
||||
__index = function(table, key)
|
||||
if not envref_deprecation_message_printed then
|
||||
minetest.log("info", "WARNING: minetest.env:[...] is deprecated and should be replaced with minetest.[...]")
|
||||
envref_deprecation_message_printed = true
|
||||
end
|
||||
local func = minetest[key]
|
||||
if type(func) == "function" then
|
||||
rawset(table, key, function(self, ...)
|
||||
return func(unpack({...}))
|
||||
end)
|
||||
else
|
||||
rawset(table, key, nil)
|
||||
end
|
||||
return rawget(table, key)
|
||||
end
|
||||
})
|
||||
|
||||
@@ -53,27 +53,27 @@ minetest.register_entity("__builtin:falling_node", {
|
||||
-- Turn to actual sand when collides to ground or just move
|
||||
local pos = self.object:getpos()
|
||||
local bcp = {x=pos.x, y=pos.y-0.7, z=pos.z} -- Position of bottom center point
|
||||
local bcn = minetest.env:get_node(bcp)
|
||||
local bcn = minetest.get_node(bcp)
|
||||
-- Note: walkable is in the node definition, not in item groups
|
||||
if minetest.registered_nodes[bcn.name] and
|
||||
minetest.registered_nodes[bcn.name].walkable then
|
||||
if minetest.registered_nodes[bcn.name].buildable_to then
|
||||
minetest.env:remove_node(bcp)
|
||||
minetest.remove_node(bcp)
|
||||
return
|
||||
end
|
||||
local np = {x=bcp.x, y=bcp.y+1, z=bcp.z}
|
||||
-- Check what's here
|
||||
local n2 = minetest.env:get_node(np)
|
||||
local n2 = minetest.get_node(np)
|
||||
-- If it's not air or liquid, remove node and replace it with
|
||||
-- it's drops
|
||||
if n2.name ~= "air" and (not minetest.registered_nodes[n2.name] or
|
||||
minetest.registered_nodes[n2.name].liquidtype == "none") then
|
||||
local drops = minetest.get_node_drops(n2.name, "")
|
||||
minetest.env:remove_node(np)
|
||||
minetest.remove_node(np)
|
||||
-- Add dropped items
|
||||
local _, dropped_item
|
||||
for _, dropped_item in ipairs(drops) do
|
||||
minetest.env:add_item(np, dropped_item)
|
||||
minetest.add_item(np, dropped_item)
|
||||
end
|
||||
-- Run script hook
|
||||
local _, callback
|
||||
@@ -82,7 +82,7 @@ minetest.register_entity("__builtin:falling_node", {
|
||||
end
|
||||
end
|
||||
-- Create node and remove entity
|
||||
minetest.env:add_node(np, {name=self.nodename})
|
||||
minetest.add_node(np, {name=self.nodename})
|
||||
self.object:remove()
|
||||
nodeupdate(np)
|
||||
else
|
||||
@@ -92,20 +92,20 @@ minetest.register_entity("__builtin:falling_node", {
|
||||
})
|
||||
|
||||
function spawn_falling_node(p, nodename)
|
||||
obj = minetest.env:add_entity(p, "__builtin:falling_node")
|
||||
obj = minetest.add_entity(p, "__builtin:falling_node")
|
||||
obj:get_luaentity():set_node(nodename)
|
||||
end
|
||||
|
||||
function drop_attached_node(p)
|
||||
local nn = minetest.env:get_node(p).name
|
||||
minetest.env:remove_node(p)
|
||||
local nn = minetest.get_node(p).name
|
||||
minetest.remove_node(p)
|
||||
for _,item in ipairs(minetest.get_node_drops(nn, "")) do
|
||||
local pos = {
|
||||
x = p.x + math.random()/2 - 0.25,
|
||||
y = p.y + math.random()/2 - 0.25,
|
||||
z = p.z + math.random()/2 - 0.25,
|
||||
}
|
||||
minetest.env:add_item(pos, item)
|
||||
minetest.add_item(pos, item)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -130,7 +130,7 @@ function check_attached_node(p, n)
|
||||
d.y = -1
|
||||
end
|
||||
local p2 = {x=p.x+d.x, y=p.y+d.y, z=p.z+d.z}
|
||||
local nn = minetest.env:get_node(p2).name
|
||||
local nn = minetest.get_node(p2).name
|
||||
local def2 = minetest.registered_nodes[nn]
|
||||
if def2 and not def2.walkable then
|
||||
return false
|
||||
@@ -142,18 +142,22 @@ end
|
||||
-- Some common functions
|
||||
--
|
||||
|
||||
function nodeupdate_single(p)
|
||||
n = minetest.env:get_node(p)
|
||||
function nodeupdate_single(p, delay)
|
||||
n = minetest.get_node(p)
|
||||
if minetest.get_node_group(n.name, "falling_node") ~= 0 then
|
||||
p_bottom = {x=p.x, y=p.y-1, z=p.z}
|
||||
n_bottom = minetest.env:get_node(p_bottom)
|
||||
n_bottom = minetest.get_node(p_bottom)
|
||||
-- Note: walkable is in the node definition, not in item groups
|
||||
if minetest.registered_nodes[n_bottom.name] and
|
||||
(not minetest.registered_nodes[n_bottom.name].walkable or
|
||||
minetest.registered_nodes[n_bottom.name].buildable_to) then
|
||||
minetest.env:remove_node(p)
|
||||
spawn_falling_node(p, n.name)
|
||||
nodeupdate(p)
|
||||
if delay then
|
||||
minetest.after(0.1, nodeupdate_single, {x=p.x, y=p.y, z=p.z}, false)
|
||||
else
|
||||
minetest.remove_node(p)
|
||||
spawn_falling_node(p, n.name)
|
||||
nodeupdate(p)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -174,8 +178,7 @@ function nodeupdate(p)
|
||||
for x = -1,1 do
|
||||
for y = -1,1 do
|
||||
for z = -1,1 do
|
||||
p2 = {x=p.x+x, y=p.y+y, z=p.z+z}
|
||||
nodeupdate_single(p2)
|
||||
nodeupdate_single({x=p.x+x, y=p.y+y, z=p.z+z}, not (x==0 and y==0 and z==0))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
28
builtin/features.lua
Normal file
28
builtin/features.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
-- Minetest: builtin/features.lua
|
||||
|
||||
minetest.features = {
|
||||
glasslike_framed = true,
|
||||
nodebox_as_selectionbox = true,
|
||||
chat_send_player_param3 = true,
|
||||
get_all_craft_recipes_works = true,
|
||||
use_texture_alpha = true,
|
||||
}
|
||||
|
||||
function minetest.has_feature(arg)
|
||||
if type(arg) == "table" then
|
||||
missing_features = {}
|
||||
result = true
|
||||
for ft, _ in pairs(arg) do
|
||||
if not minetest.features[ftr] then
|
||||
missing_features[ftr] = true
|
||||
result = false
|
||||
end
|
||||
end
|
||||
return result, missing_features
|
||||
elseif type(arg) == "string" then
|
||||
if not minetest.features[arg] then
|
||||
return false, {[arg]=true}
|
||||
end
|
||||
return true, {}
|
||||
end
|
||||
end
|
||||
@@ -129,9 +129,9 @@ function minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||
end
|
||||
|
||||
local under = pointed_thing.under
|
||||
local oldnode_under = minetest.env:get_node_or_nil(under)
|
||||
local oldnode_under = minetest.get_node_or_nil(under)
|
||||
local above = pointed_thing.above
|
||||
local oldnode_above = minetest.env:get_node_or_nil(above)
|
||||
local oldnode_above = minetest.get_node_or_nil(above)
|
||||
|
||||
if not oldnode_under or not oldnode_above then
|
||||
minetest.log("info", placer:get_player_name() .. " tried to place"
|
||||
@@ -163,7 +163,7 @@ function minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||
minetest.log("action", placer:get_player_name() .. " places node "
|
||||
.. def.name .. " at " .. minetest.pos_to_string(place_to))
|
||||
|
||||
local oldnode = minetest.env:get_node(place_to)
|
||||
local oldnode = minetest.get_node(place_to)
|
||||
local newnode = {name = def.name, param1 = 0, param2 = 0}
|
||||
|
||||
-- Calculate direction for wall mounted stuff like torches and signs
|
||||
@@ -197,7 +197,7 @@ function minetest.item_place_node(itemstack, placer, pointed_thing)
|
||||
end
|
||||
|
||||
-- Add node and update
|
||||
minetest.env:add_node(place_to, newnode)
|
||||
minetest.add_node(place_to, newnode)
|
||||
|
||||
local take_item = true
|
||||
|
||||
@@ -232,7 +232,7 @@ function minetest.item_place_object(itemstack, placer, pointed_thing)
|
||||
local pos = minetest.get_pointed_thing_position(pointed_thing, true)
|
||||
if pos ~= nil then
|
||||
local item = itemstack:take_item()
|
||||
minetest.env:add_item(pos, item)
|
||||
minetest.add_item(pos, item)
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
@@ -241,7 +241,7 @@ function minetest.item_place(itemstack, placer, pointed_thing)
|
||||
-- Call on_rightclick if the pointed node defines it
|
||||
if pointed_thing.type == "node" and placer and
|
||||
not placer:get_player_control().sneak then
|
||||
local n = minetest.env:get_node(pointed_thing.under)
|
||||
local n = minetest.get_node(pointed_thing.under)
|
||||
local nn = n.name
|
||||
if minetest.registered_nodes[nn] and minetest.registered_nodes[nn].on_rightclick then
|
||||
return minetest.registered_nodes[nn].on_rightclick(pointed_thing.under, n, placer, itemstack) or itemstack
|
||||
@@ -258,7 +258,7 @@ function minetest.item_drop(itemstack, dropper, pos)
|
||||
if dropper.get_player_name then
|
||||
local v = dropper:get_look_dir()
|
||||
local p = {x=pos.x+v.x, y=pos.y+1.5+v.y, z=pos.z+v.z}
|
||||
local obj = minetest.env:add_item(p, itemstack)
|
||||
local obj = minetest.add_item(p, itemstack)
|
||||
if obj then
|
||||
v.x = v.x*2
|
||||
v.y = v.y*2 + 1
|
||||
@@ -266,7 +266,7 @@ function minetest.item_drop(itemstack, dropper, pos)
|
||||
obj:setvelocity(v)
|
||||
end
|
||||
else
|
||||
minetest.env:add_item(pos, itemstack)
|
||||
minetest.add_item(pos, itemstack)
|
||||
end
|
||||
return ItemStack("")
|
||||
end
|
||||
@@ -304,7 +304,7 @@ function minetest.handle_node_drops(pos, drops, digger)
|
||||
y = pos.y + math.random()/2-0.25,
|
||||
z = pos.z + math.random()/2-0.25,
|
||||
}
|
||||
minetest.env:add_item(p, left)
|
||||
minetest.add_item(p, left)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -340,11 +340,11 @@ function minetest.node_dig(pos, node, digger)
|
||||
|
||||
local oldmetadata = nil
|
||||
if def.after_dig_node then
|
||||
oldmetadata = minetest.env:get_meta(pos):to_table()
|
||||
oldmetadata = minetest.get_meta(pos):to_table()
|
||||
end
|
||||
|
||||
-- Remove node and update
|
||||
minetest.env:remove_node(pos)
|
||||
minetest.remove_node(pos)
|
||||
|
||||
-- Run callback
|
||||
if def.after_dig_node then
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
function minetest.spawn_item(pos, item)
|
||||
-- Take item in any format
|
||||
local stack = ItemStack(item)
|
||||
local obj = minetest.env:add_entity(pos, "__builtin:item")
|
||||
local obj = minetest.add_entity(pos, "__builtin:item")
|
||||
obj:get_luaentity():set_item(stack:to_string())
|
||||
return obj
|
||||
end
|
||||
@@ -83,7 +83,7 @@ minetest.register_entity("__builtin:item", {
|
||||
on_step = function(self, dtime)
|
||||
local p = self.object:getpos()
|
||||
p.y = p.y - 0.3
|
||||
local nn = minetest.env:get_node(p).name
|
||||
local nn = minetest.get_node(p).name
|
||||
-- If node is not registered or node is walkably solid and resting on nodebox
|
||||
local v = self.object:getvelocity()
|
||||
if not minetest.registered_nodes[nn] or minetest.registered_nodes[nn].walkable and v.y == 0 then
|
||||
|
||||
@@ -43,7 +43,7 @@ end
|
||||
function minetest.get_connected_players()
|
||||
-- This could be optimized a bit, but leave that for later
|
||||
local list = {}
|
||||
for _, obj in pairs(minetest.env:get_objects_inside_radius({x=0,y=0,z=0}, 1000000)) do
|
||||
for _, obj in pairs(minetest.get_objects_inside_radius({x=0,y=0,z=0}, 1000000)) do
|
||||
if obj:is_player() then
|
||||
table.insert(list, obj)
|
||||
end
|
||||
|
||||
@@ -103,6 +103,10 @@ function minetest.register_item(name, itemdef)
|
||||
|
||||
-- Apply defaults and add to registered_* table
|
||||
if itemdef.type == "node" then
|
||||
-- Use the nodebox as selection box if it's not set manually
|
||||
if itemdef.drawtype == "nodebox" and not itemdef.selection_box then
|
||||
itemdef.selection_box = itemdef.node_box
|
||||
end
|
||||
setmetatable(itemdef, {__index = minetest.nodedef_default})
|
||||
minetest.registered_nodes[itemdef.name] = itemdef
|
||||
elseif itemdef.type == "craft" then
|
||||
@@ -249,8 +253,8 @@ minetest.register_item(":unknown", {
|
||||
|
||||
minetest.register_node(":air", {
|
||||
description = "Air (you hacker you!)",
|
||||
inventory_image = "unknown_block.png",
|
||||
wield_image = "unknown_block.png",
|
||||
inventory_image = "unknown_node.png",
|
||||
wield_image = "unknown_node.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
@@ -265,8 +269,8 @@ minetest.register_node(":air", {
|
||||
|
||||
minetest.register_node(":ignore", {
|
||||
description = "Ignore (you hacker you!)",
|
||||
inventory_image = "unknown_block.png",
|
||||
wield_image = "unknown_block.png",
|
||||
inventory_image = "unknown_node.png",
|
||||
wield_image = "unknown_node.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "none",
|
||||
sunlight_propagates = false,
|
||||
|
||||
@@ -197,7 +197,7 @@ local function unit_test()
|
||||
unitTest("test 1b", unittest_input.cat.speed == unittest_output.cat.speed)
|
||||
unitTest("test 1c", unittest_input.dog.sound == unittest_output.dog.sound)
|
||||
|
||||
unittest_input = {escapechars="\n\r\t\v\\\"\'\[\]", noneuropean="θשׁ٩∂"}
|
||||
unittest_input = {escapechars="\n\r\t\v\\\"\'", noneuropean="θשׁ٩∂"}
|
||||
unittest_output = minetest.deserialize(minetest.serialize(unittest_input))
|
||||
unitTest("test 3a", unittest_input.escapechars == unittest_output.escapechars)
|
||||
unitTest("test 3b", unittest_input.noneuropean == unittest_output.noneuropean)
|
||||
|
||||
1
client/shaders/test_shader_3/base.txt
Normal file
1
client/shaders/test_shader_3/base.txt
Normal file
@@ -0,0 +1 @@
|
||||
trans_alphach
|
||||
25
client/shaders/test_shader_3/opengl_fragment.glsl
Normal file
25
client/shaders/test_shader_3/opengl_fragment.glsl
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
uniform sampler2D myTexture;
|
||||
uniform float fogDistance;
|
||||
|
||||
varying vec3 vPosition;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec4 col = texture2D(myTexture, vec2(gl_TexCoord[0]));
|
||||
col *= gl_Color;
|
||||
float a = col.a;
|
||||
col = col * col; // SRGB -> Linear
|
||||
col *= 1.8;
|
||||
col.r = 1.0 - exp(1.0 - col.r) / exp(1.0);
|
||||
col.g = 1.0 - exp(1.0 - col.g) / exp(1.0);
|
||||
col.b = 1.0 - exp(1.0 - col.b) / exp(1.0);
|
||||
col = sqrt(col); // Linear -> SRGB
|
||||
|
||||
if(fogDistance != 0.0){
|
||||
float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0));
|
||||
a = mix(a, 0.0, d);
|
||||
}
|
||||
|
||||
gl_FragColor = vec4(col.r, col.g, col.b, a);
|
||||
}
|
||||
51
client/shaders/test_shader_3/opengl_vertex.glsl
Normal file
51
client/shaders/test_shader_3/opengl_vertex.glsl
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
uniform mat4 mWorldViewProj;
|
||||
uniform mat4 mInvWorld;
|
||||
uniform mat4 mTransWorld;
|
||||
uniform float dayNightRatio;
|
||||
|
||||
varying vec3 vPosition;
|
||||
|
||||
void main(void)
|
||||
{
|
||||
gl_Position = mWorldViewProj * gl_Vertex;
|
||||
|
||||
vPosition = (mWorldViewProj * gl_Vertex).xyz;
|
||||
|
||||
vec4 color;
|
||||
//color = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
|
||||
float day = gl_Color.r;
|
||||
float night = gl_Color.g;
|
||||
float light_source = gl_Color.b;
|
||||
|
||||
/*color.r = mix(night, day, dayNightRatio);
|
||||
color.g = color.r;
|
||||
color.b = color.r;*/
|
||||
|
||||
float rg = mix(night, day, dayNightRatio);
|
||||
rg += light_source * 1.0; // Make light sources brighter
|
||||
float b = rg;
|
||||
|
||||
// Moonlight is blue
|
||||
b += (day - night) / 13.0;
|
||||
rg -= (day - night) / 13.0;
|
||||
|
||||
// Emphase blue a bit in darker places
|
||||
// See C++ implementation in mapblock_mesh.cpp finalColorBlend()
|
||||
b += max(0.0, (1.0 - abs(b - 0.13)/0.17) * 0.025);
|
||||
|
||||
// Artificial light is yellow-ish
|
||||
// See C++ implementation in mapblock_mesh.cpp finalColorBlend()
|
||||
rg += max(0.0, (1.0 - abs(rg - 0.85)/0.15) * 0.065);
|
||||
|
||||
color.r = rg;
|
||||
color.g = rg;
|
||||
color.b = b;
|
||||
|
||||
color.a = gl_Color.a;
|
||||
|
||||
gl_FrontColor = gl_BackColor = color;
|
||||
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
}
|
||||
399
doc/lua_api.txt
399
doc/lua_api.txt
@@ -1,6 +1,7 @@
|
||||
Minetest Lua Modding API Reference 0.4.6
|
||||
Minetest Lua Modding API Reference 0.4.7
|
||||
========================================
|
||||
More information at http://c55.me/minetest/
|
||||
More information at http://www.minetest.net/
|
||||
Developer Wiki: http://dev.minetest.net/
|
||||
|
||||
Introduction
|
||||
-------------
|
||||
@@ -50,12 +51,8 @@ where gameid is unique to each game.
|
||||
|
||||
The game directory contains the file game.conf, which contains these fields:
|
||||
name = <Human-readable full name of the game>
|
||||
common_mods = <Comma-separated list of common mods>
|
||||
eg.
|
||||
name = Minetest
|
||||
common_mods = bucket, default, doors, fire, stairs
|
||||
|
||||
Common mods are loaded from the pseudo-game "common".
|
||||
|
||||
The game directory can contain the file minetest.conf, which will be used
|
||||
to set default settings when running the particular game.
|
||||
@@ -64,9 +61,9 @@ Mod load path
|
||||
-------------
|
||||
Generic:
|
||||
$path_share/games/gameid/mods/
|
||||
$path_share/mods/gameid/
|
||||
$path_share/mods/
|
||||
$path_user/games/gameid/mods/
|
||||
$path_user/mods/gameid/ <-- User-installed mods
|
||||
$path_user/mods/ <-- User-installed mods
|
||||
$worldpath/worldmods/
|
||||
|
||||
In a run-in-place version (eg. the distributed windows version):
|
||||
@@ -120,6 +117,17 @@ depends.txt:
|
||||
List of mods that have to be loaded before loading this mod.
|
||||
A single line contains a single modname.
|
||||
|
||||
Optional dependencies can be defined by appending a question mark
|
||||
to a single modname. Their meaning is that if the specified mod
|
||||
is missing, that does not prevent this mod from being loaded.
|
||||
|
||||
optdepends.txt:
|
||||
An alternative way of specifying optional dependencies.
|
||||
Like depends.txt, a single line contains a single modname.
|
||||
|
||||
NOTE: This file exists for compatibility purposes only and
|
||||
support for it will be removed from the engine by the end of 2013.
|
||||
|
||||
init.lua:
|
||||
The main Lua script. Running this script should register everything it
|
||||
wants to register. Subsequent execution depends on minetest calling the
|
||||
@@ -329,6 +337,7 @@ Look for examples in games/minimal or games/minetest_game.
|
||||
- liquid
|
||||
- flowingliquid
|
||||
- glasslike
|
||||
- glasslike_framed
|
||||
- allfaces
|
||||
- allfaces_optional
|
||||
- torchlike
|
||||
@@ -401,6 +410,53 @@ Currently supported flags: absheight
|
||||
Also produce this same ore between the height range of -height_max and -height_min.
|
||||
Useful for having ore in sky realms without having to duplicate ore entries.
|
||||
|
||||
HUD element types
|
||||
-------------------
|
||||
The position field is used for all element types.
|
||||
To account for differing resolutions, the position coordinates are the percentage of the screen,
|
||||
ranging in value from 0 to 1.
|
||||
The name field is not yet used, but should contain a description of what the HUD element represents.
|
||||
The direction field is the direction in which something is drawn.
|
||||
0 draws from left to right, 1 draws from right to left, 2 draws from top to bottom, and 3 draws from bottom to top.
|
||||
The alignment field specifies how the item will be aligned. It ranges from -1 to 1,
|
||||
with 0 being the center, -1 is moved to the left/up, and 1 is to the right/down. Fractional
|
||||
values can be used.
|
||||
The offset field specifies a pixel offset from the position. Contrary to position,
|
||||
the offset is not scaled to screen size. This allows for some precisely-positioned
|
||||
items in the HUD.
|
||||
Below are the specific uses for fields in each type; fields not listed for that type are ignored.
|
||||
|
||||
Note: Future revisions to the HUD API may be incompatible; the HUD API is still in the experimental stages.
|
||||
|
||||
- image
|
||||
Displays an image on the HUD.
|
||||
- scale: The scale of the image, with 1 being the original texture size.
|
||||
Only the X coordinate scale is used.
|
||||
- text: The name of the texture that is displayed.
|
||||
- alignment: The alignment of the image.
|
||||
- offset: offset in pixels from position.
|
||||
- text
|
||||
Displays text on the HUD.
|
||||
- scale: Defines the bounding rectangle of the text.
|
||||
A value such as {x=100, y=100} should work.
|
||||
- text: The text to be displayed in the HUD element.
|
||||
- number: An integer containing the RGB value of the color used to draw the text.
|
||||
Specify 0xFFFFFF for white text, 0xFF0000 for red, and so on.
|
||||
- alignment: The alignment of the text.
|
||||
- offset: offset in pixels from position.
|
||||
- statbar
|
||||
Displays a horizontal bar made up of half-images.
|
||||
- text: The name of the texture that is used.
|
||||
- number: The number of half-textures that are displayed.
|
||||
If odd, will end with a vertically center-split texture.
|
||||
- direction
|
||||
- offset: offset in pixels from position.
|
||||
- inventory
|
||||
- text: The name of the inventory list to be displayed.
|
||||
- number: Number of items in the inventory to be displayed.
|
||||
- item: Position of item that is selected.
|
||||
- direction
|
||||
|
||||
Representations of simple things
|
||||
--------------------------------
|
||||
Position/vector:
|
||||
@@ -455,7 +511,7 @@ Usage:
|
||||
- Groups are stored in a table, having the group names with keys and the
|
||||
group ratings as values. For example:
|
||||
groups = {crumbly=3, soil=1}
|
||||
^ Default dirt (soil group actually currently not defined; TODO)
|
||||
^ Default dirt
|
||||
groups = {crumbly=2, soil=1, level=2, outerspace=1}
|
||||
^ A more special dirt-kind of thing
|
||||
- Groups always have a rating associated with them. If there is no
|
||||
@@ -528,6 +584,9 @@ Special groups
|
||||
- attached_node: if the node under it is not a walkable block the node will be
|
||||
dropped as an item. If the node is wallmounted the
|
||||
wallmounted direction is checked.
|
||||
- soil: saplings will grow on nodes in this group
|
||||
- connect_to_raillike: makes nodes of raillike drawtype connect to
|
||||
other group members with same drawtype
|
||||
|
||||
Known damage and digging time defining groups
|
||||
----------------------------------------------
|
||||
@@ -710,7 +769,7 @@ Some of the values in the key-value store are handled specially:
|
||||
|
||||
Example stuff:
|
||||
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"invsize[8,9;]"..
|
||||
"list[context;main;0,0;8,4;]"..
|
||||
@@ -856,6 +915,7 @@ minetest.formspec_escape(string) -> string
|
||||
|
||||
minetest namespace reference
|
||||
-----------------------------
|
||||
Utilities:
|
||||
minetest.get_current_modname() -> string
|
||||
minetest.get_modpath(modname) -> eg. "/home/user/.minetest/usermods/modname"
|
||||
^ Useful for loading additional .lua modules or static data from mod
|
||||
@@ -864,7 +924,13 @@ minetest.get_modnames() -> list of installed mods
|
||||
minetest.get_worldpath() -> eg. "/home/user/.minetest/world"
|
||||
^ Useful for storing custom data
|
||||
minetest.is_singleplayer()
|
||||
minetest.features
|
||||
^ table containing API feature flags: {foo=true, bar=true}
|
||||
minetest.has_feature(arg) -> bool, missing_features
|
||||
^ arg: string or table in format {foo=true, bar=true}
|
||||
^ missing_features: {foo=true, bar=true}
|
||||
|
||||
Logging:
|
||||
minetest.debug(line)
|
||||
^ Always printed to stderr and logfile (print() is redirected here)
|
||||
minetest.log(line)
|
||||
@@ -892,10 +958,12 @@ minetest.register_on_shutdown(func())
|
||||
minetest.register_on_placenode(func(pos, newnode, placer, oldnode, itemstack))
|
||||
^ Called when a node has been placed
|
||||
^ If return true no item is taken from itemstack
|
||||
^ Deprecated: Use on_construct or after_place_node in node definition instead
|
||||
^ Not recommended; use on_construct or after_place_node in node definition
|
||||
^ whenever possible
|
||||
minetest.register_on_dignode(func(pos, oldnode, digger))
|
||||
^ Called when a node has been dug.
|
||||
^ Deprecated: Use on_destruct or after_dig_node in node definition instead
|
||||
^ Not recommended: Use on_destruct or after_dig_node in node definition
|
||||
^ whenever possible
|
||||
minetest.register_on_punchnode(func(pos, node, puncher))
|
||||
^ Called when a node is punched
|
||||
minetest.register_on_generated(func(minp, maxp, blockseed))
|
||||
@@ -955,10 +1023,70 @@ minetest.auth_reload()
|
||||
^ These call the authentication handler
|
||||
minetest.check_player_privs(name, {priv1=true,...}) -> bool, missing_privs
|
||||
^ A quickhand for checking privileges
|
||||
minetest.get_player_ip(name) -> IP address string
|
||||
|
||||
Chat:
|
||||
minetest.chat_send_all(text)
|
||||
minetest.chat_send_player(name, text)
|
||||
minetest.chat_send_player(name, text, prepend)
|
||||
^ prepend: optional, if it is set to false "Server -!- " will not be prepended to the message
|
||||
|
||||
Environment access:
|
||||
|
||||
minetest.set_node(pos, node)
|
||||
minetest.add_node(pos, node): alias set_node(pos, node)
|
||||
^ Set node at position (node = {name="foo", param1=0, param2=0})
|
||||
minetest.remove_node(pos)
|
||||
^ Equivalent to set_node(pos, "air")
|
||||
minetest.get_node(pos)
|
||||
^ Returns {name="ignore", ...} for unloaded area
|
||||
minetest.get_node_or_nil(pos)
|
||||
^ Returns nil for unloaded area
|
||||
minetest.get_node_light(pos, timeofday) -> 0...15 or nil
|
||||
^ timeofday: nil = current time, 0 = night, 0.5 = day
|
||||
|
||||
minetest.place_node(pos, node)
|
||||
^ Place node with the same effects that a player would cause
|
||||
minetest.dig_node(pos)
|
||||
^ Dig node with the same effects that a player would cause
|
||||
minetest.punch_node(pos)
|
||||
^ Punch node with the same effects that a player would cause
|
||||
|
||||
minetest.get_meta(pos) -- Get a NodeMetaRef at that position
|
||||
minetest.get_node_timer(pos) -- Get NodeTimerRef
|
||||
|
||||
minetest.add_entity(pos, name): Spawn Lua-defined entity at position
|
||||
^ Returns ObjectRef, or nil if failed
|
||||
minetest.add_item(pos, item): Spawn item
|
||||
^ Returns ObjectRef, or nil if failed
|
||||
minetest.get_player_by_name(name) -- Get an ObjectRef to a player
|
||||
minetest.get_objects_inside_radius(pos, radius)
|
||||
minetest.set_timeofday(val): val: 0...1; 0 = midnight, 0.5 = midday
|
||||
minetest.get_timeofday()
|
||||
minetest.find_node_near(pos, radius, nodenames) -> pos or nil
|
||||
^ nodenames: eg. {"ignore", "group:tree"} or "default:dirt"
|
||||
minetest.find_nodes_in_area(minp, maxp, nodenames) -> list of positions
|
||||
^ nodenames: eg. {"ignore", "group:tree"} or "default:dirt"
|
||||
minetest.get_perlin(seeddiff, octaves, persistence, scale)
|
||||
^ Return world-specific perlin noise (int(worldseed)+seeddiff)
|
||||
minetest.clear_objects()
|
||||
^ clear all objects in the environments
|
||||
minetest.line_of_sight(pos1,pos2,stepsize) ->true/false
|
||||
^ checkif there is a direct line of sight between pos1 and pos2
|
||||
^ pos1 First position
|
||||
^ pos2 Second position
|
||||
^ stepsize smaller gives more accurate results but requires more computing
|
||||
time. Default is 1.
|
||||
minetest.find_path(pos1,pos2,searchdistance,max_jump,max_drop,algorithm)
|
||||
^ -> table containing path
|
||||
^ returns a table of 3d points representing a path from pos1 to pos2 or nil
|
||||
^ pos1: start position
|
||||
^ pos2: end position
|
||||
^ searchdistance: number of blocks to search in each direction
|
||||
^ max_jump: maximum height difference to consider walkable
|
||||
^ max_drop: maximum height difference to consider droppable
|
||||
^ algorithm: A*_noprefetch(default), A*, Dijkstra
|
||||
minetest.spawn_tree (pos, {treedef})
|
||||
^ spawns L-System tree at given pos with definition in treedef table
|
||||
|
||||
Inventory:
|
||||
minetest.get_inventory(location) -> InvRef
|
||||
@@ -1002,10 +1130,23 @@ minetest.get_craft_recipe(output) -> input
|
||||
^ input.items = for example { stack 1, stack 2, stack 3, stack 4,
|
||||
stack 5, stack 6, stack 7, stack 8, stack 9 }
|
||||
^ input.items = nil if no recipe found
|
||||
minetest.get_all_craft_recipes(output) -> table or nil
|
||||
^ returns table with all registered recipes for output item (node)
|
||||
^ returns nil if no recipe was found
|
||||
^ table entries have same format as minetest.get_craft_recipe
|
||||
minetest.get_all_craft_recipes(query item) -> table or nil
|
||||
^ returns indexed table with all registered recipes for query item (node)
|
||||
or nil if no recipe was found
|
||||
recipe entry table:
|
||||
{
|
||||
method = 'normal' or 'cooking' or 'fuel'
|
||||
width = 0-3, 0 means shapeless recipe
|
||||
items = indexed [1-9] table with recipe items
|
||||
output = string with item name and quantity
|
||||
}
|
||||
Example query for default:gold_ingot will return table:
|
||||
{
|
||||
1={type = "cooking", width = 3, output = "default:gold_ingot",
|
||||
items = {1 = "default:gold_lump"}},
|
||||
2={type = "normal", width = 1, output = "default:gold_ingot 9",
|
||||
items = {1 = "default:goldblock"}}
|
||||
}
|
||||
minetest.handle_node_drops(pos, drops, digger)
|
||||
^ drops: list of itemstrings
|
||||
^ Handles drops from nodes after digging: Default action is to put them into
|
||||
@@ -1117,7 +1258,11 @@ minetest.deserialize(string) -> table
|
||||
|
||||
Global objects:
|
||||
minetest.env - EnvRef of the server environment and world.
|
||||
^ Using this you can access nodes and entities
|
||||
^ Any function in the minetest namespace can be called using the syntax
|
||||
minetest.env:somefunction(somearguments)
|
||||
instead of
|
||||
minetest.somefunction(somearguments)
|
||||
^ Deprecated, but support is not to be dropped soon
|
||||
|
||||
Global tables:
|
||||
minetest.registered_items
|
||||
@@ -1146,115 +1291,9 @@ minetest.digprop_glasslike(toughness)
|
||||
|
||||
Class reference
|
||||
----------------
|
||||
EnvRef: basically ServerEnvironment and ServerMap combined.
|
||||
methods:
|
||||
- set_node(pos, node)
|
||||
- add_node(pos, node): alias set_node(pos, node)
|
||||
^ Set node at position (node = {name="foo", param1=0, param2=0})
|
||||
- remove_node(pos)
|
||||
^ Equivalent to set_node(pos, "air")
|
||||
- get_node(pos)
|
||||
^ Returns {name="ignore", ...} for unloaded area
|
||||
- get_node_or_nil(pos)
|
||||
^ Returns nil for unloaded area
|
||||
- get_node_light(pos, timeofday) -> 0...15 or nil
|
||||
^ timeofday: nil = current time, 0 = night, 0.5 = day
|
||||
|
||||
- place_node(pos, node)
|
||||
^ Place node with the same effects that a player would cause
|
||||
- dig_node(pos)
|
||||
^ Dig node with the same effects that a player would cause
|
||||
- punch_node(pos)
|
||||
^ Punch node with the same effects that a player would cause
|
||||
|
||||
- get_meta(pos) -- Get a NodeMetaRef at that position
|
||||
- get_node_timer(pos) -- Get NodeTimerRef
|
||||
|
||||
- add_entity(pos, name): Spawn Lua-defined entity at position
|
||||
^ Returns ObjectRef, or nil if failed
|
||||
- add_item(pos, item): Spawn item
|
||||
^ Returns ObjectRef, or nil if failed
|
||||
- get_player_by_name(name) -- Get an ObjectRef to a player
|
||||
- get_objects_inside_radius(pos, radius)
|
||||
- set_timeofday(val): val: 0...1; 0 = midnight, 0.5 = midday
|
||||
- get_timeofday()
|
||||
- find_node_near(pos, radius, nodenames) -> pos or nil
|
||||
^ nodenames: eg. {"ignore", "group:tree"} or "default:dirt"
|
||||
- find_nodes_in_area(minp, maxp, nodenames) -> list of positions
|
||||
^ nodenames: eg. {"ignore", "group:tree"} or "default:dirt"
|
||||
- get_perlin(seeddiff, octaves, persistence, scale)
|
||||
^ Return world-specific perlin noise (int(worldseed)+seeddiff)
|
||||
- clear_objects()
|
||||
^ clear all objects in the environments
|
||||
- spawn_tree (pos, {treedef})
|
||||
^ spawns L-System tree at given pos with definition in treedef table
|
||||
treedef={
|
||||
axiom, - string initial tree axiom
|
||||
rules_a, - string rules set A
|
||||
rules_b, - string rules set B
|
||||
rules_c, - string rules set C
|
||||
rules_d, - string rules set D
|
||||
trunk, - string trunk node name
|
||||
leaves, - string leaves node name
|
||||
leaves2, - string secondary leaves node name
|
||||
leaves2_chance,- num chance (0-100) to replace leaves with leaves2
|
||||
angle, - num angle in deg
|
||||
iterations, - num max # of iterations, usually 2 -5
|
||||
random_level, - num factor to lower nr of iterations, usually 0 - 3
|
||||
trunk_type, - string single/double/crossed) type of trunk: 1 node, 2x2 nodes or 3x3 in cross shape
|
||||
thin_branches, - boolean true -> use thin (1 node) branches
|
||||
fruit, - string fruit node name
|
||||
fruit_chance, - num chance (0-100) to replace leaves with fruit node
|
||||
seed, - num random seed
|
||||
}
|
||||
|
||||
Key for Special L-System Symbols used in Axioms
|
||||
G - move forward one unit with the pen up
|
||||
F - move forward one unit with the pen down drawing trunks and branches
|
||||
f - move forward one unit with the pen down drawing leaves (100% chance)
|
||||
T - move forward one unit with the pen down drawing trunks only
|
||||
R - move forward one unit with the pen down placing fruit
|
||||
A - replace with rules set A
|
||||
B - replace with rules set B
|
||||
C - replace with rules set C
|
||||
D - replace with rules set D
|
||||
a - replace with rules set A, chance 90%
|
||||
b - replace with rules set B, chance 80%
|
||||
c - replace with rules set C, chance 70%
|
||||
d - replace with rules set D, chance 60%
|
||||
+ - yaw the turtle right by angle parameter
|
||||
- - yaw the turtle left by angle parameter
|
||||
& - pitch the turtle down by angle parameter
|
||||
^ - pitch the turtle up by angle parameter
|
||||
/ - roll the turtle to the right by angle parameter
|
||||
* - roll the turtle to the left by angle parameter
|
||||
[ - save in stack current state info
|
||||
] - recover from stack state info
|
||||
|
||||
Example usage: spawn small apple tree
|
||||
apple_tree={
|
||||
axiom="FFFFFAFFBF",
|
||||
rules_a="[&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF]",
|
||||
rules_b="[&&&++FFFFF&&FFFF][&&&--FFFFF&&FFFF][&&&------FFFFF&&FFFF]",
|
||||
trunk="default:tree",
|
||||
leaves="default:leaves",
|
||||
angle=30,
|
||||
iterations=2,
|
||||
random_level=0,
|
||||
trunk_type="single",
|
||||
thin_branches=true,
|
||||
fruit_chance=10,
|
||||
fruit="default:apple"
|
||||
}
|
||||
minetest.env:spawn_tree(pos,apple_tree)
|
||||
|
||||
Deprecated:
|
||||
- add_rat(pos): Add C++ rat object (no-op)
|
||||
- add_firefly(pos): Add C++ firefly object (no-op)
|
||||
|
||||
NodeMetaRef: Node metadata - reference extra data and functionality stored
|
||||
in a node
|
||||
- Can be gotten via minetest.env:get_nodemeta(pos)
|
||||
- Can be gotten via minetest.get_nodemeta(pos)
|
||||
methods:
|
||||
- set_string(name, value)
|
||||
- get_string(name)
|
||||
@@ -1268,7 +1307,7 @@ methods:
|
||||
^ See "Node Metadata"
|
||||
|
||||
NodeTimerRef: Node Timers - a high resolution persistent per-node timer
|
||||
- Can be gotten via minetest.env:get_node_timer(pos)
|
||||
- Can be gotten via minetest.get_node_timer(pos)
|
||||
methods:
|
||||
- set(timeout,elapsed)
|
||||
^ set a timer's state
|
||||
@@ -1348,7 +1387,22 @@ Player-only: (no-op for other objects)
|
||||
{jump=bool,right=bool,left=bool,LMB=bool,RMB=bool,sneak=bool,aux1=bool,down=bool,up=bool}
|
||||
- get_player_control_bits(): returns integer with bit packed player pressed keys
|
||||
bit nr/meaning: 0/up ,1/down ,2/left ,3/right ,4/jump ,5/aux1 ,6/sneak ,7/LMB ,8/RMB
|
||||
|
||||
- set_physics_override(speed, jump, gravity)
|
||||
modifies per-player walking speed, jump height, and gravity.
|
||||
Values default to 1 and act as offsets to the physics settings
|
||||
in minetest.conf. nil will keep the current setting.
|
||||
- hud_add(hud definition): add a HUD element described by HUD def, returns ID number on success
|
||||
- hud_remove(id): remove the HUD element of the specified id
|
||||
- hud_change(id, stat, value): change a value of a previously added HUD element
|
||||
^ element stat values: position, name, scale, text, number, item, dir
|
||||
- hud_get(id): gets the HUD element definition structure of the specified ID
|
||||
- hud_set_flags(flags): sets specified HUD flags to true/false
|
||||
^ flags: (is visible) hotbar, healthbar, crosshair, wielditem
|
||||
^ pass a table containing a true/false value of each flag to be set or unset
|
||||
^ if a flag is nil, the flag is not modified
|
||||
- hud_set_hotbar_itemcount(count): sets number of items in builtin hotbar
|
||||
^ count: number of items, must be between 1 and 23
|
||||
|
||||
InvRef: Reference to an inventory
|
||||
methods:
|
||||
- is_empty(listname): return true if list is empty
|
||||
@@ -1410,7 +1464,7 @@ methods:
|
||||
|
||||
PerlinNoise: A perlin noise generator
|
||||
- Can be created via PerlinNoise(seed, octaves, persistence, scale)
|
||||
- Also minetest.env:get_perlin(seeddiff, octaves, persistence, scale)
|
||||
- Also minetest.get_perlin(seeddiff, octaves, persistence, scale)
|
||||
methods:
|
||||
- get2d(pos) -> 2d noise value at pos={x=,y=}
|
||||
- get3d(pos) -> 3d noise value at pos={x=,y=,z=}
|
||||
@@ -1440,6 +1494,68 @@ Registered entities
|
||||
^ Should return a string that will be passed to on_activate when
|
||||
the object is instantiated the next time.
|
||||
|
||||
L-system trees
|
||||
---------------
|
||||
treedef={
|
||||
axiom, - string initial tree axiom
|
||||
rules_a, - string rules set A
|
||||
rules_b, - string rules set B
|
||||
rules_c, - string rules set C
|
||||
rules_d, - string rules set D
|
||||
trunk, - string trunk node name
|
||||
leaves, - string leaves node name
|
||||
leaves2, - string secondary leaves node name
|
||||
leaves2_chance,- num chance (0-100) to replace leaves with leaves2
|
||||
angle, - num angle in deg
|
||||
iterations, - num max # of iterations, usually 2 -5
|
||||
random_level, - num factor to lower nr of iterations, usually 0 - 3
|
||||
trunk_type, - string single/double/crossed) type of trunk: 1 node, 2x2 nodes or 3x3 in cross shape
|
||||
thin_branches, - boolean true -> use thin (1 node) branches
|
||||
fruit, - string fruit node name
|
||||
fruit_chance, - num chance (0-100) to replace leaves with fruit node
|
||||
seed, - num random seed
|
||||
}
|
||||
|
||||
Key for Special L-System Symbols used in Axioms
|
||||
G - move forward one unit with the pen up
|
||||
F - move forward one unit with the pen down drawing trunks and branches
|
||||
f - move forward one unit with the pen down drawing leaves (100% chance)
|
||||
T - move forward one unit with the pen down drawing trunks only
|
||||
R - move forward one unit with the pen down placing fruit
|
||||
A - replace with rules set A
|
||||
B - replace with rules set B
|
||||
C - replace with rules set C
|
||||
D - replace with rules set D
|
||||
a - replace with rules set A, chance 90%
|
||||
b - replace with rules set B, chance 80%
|
||||
c - replace with rules set C, chance 70%
|
||||
d - replace with rules set D, chance 60%
|
||||
+ - yaw the turtle right by angle parameter
|
||||
- - yaw the turtle left by angle parameter
|
||||
& - pitch the turtle down by angle parameter
|
||||
^ - pitch the turtle up by angle parameter
|
||||
/ - roll the turtle to the right by angle parameter
|
||||
* - roll the turtle to the left by angle parameter
|
||||
[ - save in stack current state info
|
||||
] - recover from stack state info
|
||||
|
||||
Example usage: spawn small apple tree
|
||||
apple_tree={
|
||||
axiom="FFFFFAFFBF",
|
||||
rules_a="[&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF]",
|
||||
rules_b="[&&&++FFFFF&&FFFF][&&&--FFFFF&&FFFF][&&&------FFFFF&&FFFF]",
|
||||
trunk="default:tree",
|
||||
leaves="default:leaves",
|
||||
angle=30,
|
||||
iterations=2,
|
||||
random_level=0,
|
||||
trunk_type="single",
|
||||
thin_branches=true,
|
||||
fruit_chance=10,
|
||||
fruit="default:apple"
|
||||
}
|
||||
minetest.spawn_tree(pos,apple_tree)
|
||||
|
||||
Definition tables
|
||||
------------------
|
||||
|
||||
@@ -1564,6 +1680,7 @@ Node definition (register_node)
|
||||
^ Special textures of node; used rarely (old field name: special_materials)
|
||||
^ List can be shortened to needed length
|
||||
alpha = 255,
|
||||
use_texture_alpha = false, -- Use texture's alpha channel
|
||||
post_effect_color = {a=0, r=0, g=0, b=0}, -- If player is inside node
|
||||
paramtype = "none", -- See "Nodes"
|
||||
paramtype2 = "none", -- See "Nodes"
|
||||
@@ -1585,6 +1702,7 @@ Node definition (register_node)
|
||||
damage_per_second = 0, -- If player is inside node, this damage is caused
|
||||
node_box = {type="regular"}, -- See "Node boxes"
|
||||
selection_box = {type="regular"}, -- See "Node boxes"
|
||||
^ If drawtype "nodebox" is used and selection_box is nil, then node_box is used
|
||||
legacy_facedir_simple = false, -- Support maps made in and before January 2012
|
||||
legacy_wallmounted = false, -- Support maps made in and before January 2012
|
||||
sounds = {
|
||||
@@ -1607,13 +1725,13 @@ Node definition (register_node)
|
||||
|
||||
after_place_node = func(pos, placer, itemstack),
|
||||
^ Called after constructing node when node was placed using
|
||||
minetest.item_place_node / minetest.env:place_node
|
||||
minetest.item_place_node / minetest.place_node
|
||||
^ If return true no item is taken from itemstack
|
||||
^ default: nil
|
||||
after_dig_node = func(pos, oldnode, oldmetadata, digger),
|
||||
^ oldmetadata is in table format
|
||||
^ Called after destructing node when node was dug using
|
||||
minetest.node_dig / minetest.env:dig_node
|
||||
minetest.node_dig / minetest.dig_node
|
||||
^ default: nil
|
||||
can_dig = function(pos,player)
|
||||
^ returns true if node can be dug, or false if not
|
||||
@@ -1632,7 +1750,7 @@ Node definition (register_node)
|
||||
|
||||
on_timer = function(pos,elapsed),
|
||||
^ default: nil
|
||||
^ called by NodeTimers, see EnvRef and NodeTimerRef
|
||||
^ called by NodeTimers, see minetest.get_node_timer and NodeTimerRef
|
||||
^ elapsed is the total time passed since the timer was started
|
||||
^ return true to run the timer for another cycle with the same timeout value
|
||||
|
||||
@@ -1770,3 +1888,22 @@ Detached inventory callbacks
|
||||
^ No return value
|
||||
}
|
||||
|
||||
HUD Definition (hud_add, hud_get)
|
||||
{
|
||||
hud_elem_type = "image", -- see HUD element types
|
||||
^ type of HUD element, can be either of "image", "text", "statbar", or "inventory"
|
||||
position = {x=0.5, y=0.5},
|
||||
^ Left corner position of element
|
||||
name = "<name>",
|
||||
scale = {x=2, y=2},
|
||||
text = "<text>",
|
||||
number = 2,
|
||||
item = 3,
|
||||
^ Selected item in inventory. 0 for no item selected.
|
||||
direction = 0,
|
||||
^ Direction: 0: left-right, 1: right-left, 2: top-bottom, 3: bottom-top
|
||||
alignment = {x=0, y=0},
|
||||
^ See "HUD Element Types"
|
||||
offset = {x=0, y=0},
|
||||
^ See "HUD Element Types"
|
||||
}
|
||||
|
||||
@@ -61,6 +61,9 @@ Run dedicated server
|
||||
\-\-speedtests
|
||||
Run speed tests
|
||||
.TP
|
||||
\-\-videomodes
|
||||
List available video modes
|
||||
.TP
|
||||
\-\-info
|
||||
Print more information to console
|
||||
.TP
|
||||
@@ -85,7 +88,7 @@ This man page was originally written by
|
||||
Juhani Numminen <juhaninumminen0@gmail.com>.
|
||||
|
||||
.SH WWW
|
||||
http://c55.me/minetest/
|
||||
http://www.minetest.net/
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR minetestserver(6)
|
||||
|
||||
@@ -64,7 +64,7 @@ This man page was originally written by
|
||||
Juhani Numminen <juhaninumminen0@gmail.com>.
|
||||
|
||||
.SH WWW
|
||||
http://c55.me/minetest/
|
||||
http://www.minetest.net/
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR minetest(6)
|
||||
|
||||
BIN
games/minimal/menu/background.png
Normal file
BIN
games/minimal/menu/background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
games/minimal/menu/icon.png
Normal file
BIN
games/minimal/menu/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 397 B |
@@ -41,13 +41,13 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image)
|
||||
return
|
||||
end
|
||||
-- Check if pointing to a liquid
|
||||
n = minetest.env:get_node(pointed_thing.under)
|
||||
n = minetest.get_node(pointed_thing.under)
|
||||
if bucket.liquids[n.name] == nil then
|
||||
-- Not a liquid
|
||||
minetest.env:add_node(pointed_thing.above, {name=source})
|
||||
minetest.add_node(pointed_thing.above, {name=source})
|
||||
elseif n.name ~= source then
|
||||
-- It's a liquid
|
||||
minetest.env:add_node(pointed_thing.under, {name=source})
|
||||
minetest.add_node(pointed_thing.under, {name=source})
|
||||
end
|
||||
return {name="bucket:bucket_empty"}
|
||||
end
|
||||
@@ -65,10 +65,10 @@ minetest.register_craftitem("bucket:bucket_empty", {
|
||||
return
|
||||
end
|
||||
-- Check if pointing to a liquid source
|
||||
n = minetest.env:get_node(pointed_thing.under)
|
||||
n = minetest.get_node(pointed_thing.under)
|
||||
liquiddef = bucket.liquids[n.name]
|
||||
if liquiddef ~= nil and liquiddef.source == n.name and liquiddef.itemname ~= nil then
|
||||
minetest.env:add_node(pointed_thing.under, {name="air"})
|
||||
minetest.add_node(pointed_thing.under, {name="air"})
|
||||
return {name=liquiddef.itemname}
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -741,7 +741,7 @@ minetest.register_node("default:dirt_with_grass", {
|
||||
description = "Dirt with grass",
|
||||
tiles ={"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
groups = {crumbly=3, soil=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
@@ -752,7 +752,7 @@ minetest.register_node("default:dirt_with_grass_footsteps", {
|
||||
description = "Dirt with grass and footsteps",
|
||||
tiles ={"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
groups = {crumbly=3, soil=1},
|
||||
drop = 'default:dirt',
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
@@ -763,7 +763,7 @@ minetest.register_node("default:dirt", {
|
||||
description = "Dirt",
|
||||
tiles ={"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3},
|
||||
groups = {crumbly=3, soil=1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
@@ -1133,14 +1133,14 @@ minetest.register_node("default:sign_wall", {
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
on_construct = function(pos)
|
||||
--local n = minetest.env:get_node(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
--local n = minetest.get_node(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", "field[text;;${text}]")
|
||||
meta:set_string("infotext", "\"\"")
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
--print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields))
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
fields.text = fields.text or ""
|
||||
print((sender:get_player_name() or "").." wrote \""..fields.text..
|
||||
"\" to sign at "..minetest.pos_to_string(pos))
|
||||
@@ -1158,7 +1158,7 @@ minetest.register_node("default:chest", {
|
||||
legacy_facedir_simple = true,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,9]"..
|
||||
"list[current_name;main;0,0;8,4;]"..
|
||||
@@ -1168,7 +1168,7 @@ minetest.register_node("default:chest", {
|
||||
inv:set_size("main", 8*4)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.env:get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
@@ -1190,13 +1190,13 @@ minetest.register_node("default:chest_locked", {
|
||||
legacy_facedir_simple = true,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
after_place_node = function(pos, placer)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("owner", placer:get_player_name() or "")
|
||||
meta:set_string("infotext", "Locked Chest (owned by "..
|
||||
meta:get_string("owner")..")")
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec",
|
||||
"size[8,9]"..
|
||||
"list[current_name;main;0,0;8,4;]"..
|
||||
@@ -1207,12 +1207,12 @@ minetest.register_node("default:chest_locked", {
|
||||
inv:set_size("main", 8*4)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.env:get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if not has_locked_chest_privilege(meta, player) then
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" tried to access a locked chest belonging to "..
|
||||
@@ -1223,7 +1223,7 @@ minetest.register_node("default:chest_locked", {
|
||||
return count
|
||||
end,
|
||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if not has_locked_chest_privilege(meta, player) then
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" tried to access a locked chest belonging to "..
|
||||
@@ -1234,7 +1234,7 @@ minetest.register_node("default:chest_locked", {
|
||||
return stack:get_count()
|
||||
end,
|
||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if not has_locked_chest_privilege(meta, player) then
|
||||
minetest.log("action", player:get_player_name()..
|
||||
" tried to access a locked chest belonging to "..
|
||||
@@ -1275,7 +1275,7 @@ minetest.register_node("default:furnace", {
|
||||
legacy_facedir_simple = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", default.furnace_inactive_formspec)
|
||||
meta:set_string("infotext", "Furnace")
|
||||
local inv = meta:get_inventory()
|
||||
@@ -1284,7 +1284,7 @@ minetest.register_node("default:furnace", {
|
||||
inv:set_size("dst", 4)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.env:get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
if not inv:is_empty("fuel") then
|
||||
return false
|
||||
@@ -1308,7 +1308,7 @@ minetest.register_node("default:furnace_active", {
|
||||
legacy_facedir_simple = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", default.furnace_inactive_formspec)
|
||||
meta:set_string("infotext", "Furnace");
|
||||
local inv = meta:get_inventory()
|
||||
@@ -1317,7 +1317,7 @@ minetest.register_node("default:furnace_active", {
|
||||
inv:set_size("dst", 4)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.env:get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
if not inv:is_empty("fuel") then
|
||||
return false
|
||||
@@ -1331,16 +1331,16 @@ minetest.register_node("default:furnace_active", {
|
||||
})
|
||||
|
||||
function hacky_swap_node(pos,name)
|
||||
local node = minetest.env:get_node(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local meta0 = meta:to_table()
|
||||
if node.name == name then
|
||||
return
|
||||
end
|
||||
node.name = name
|
||||
local meta0 = meta:to_table()
|
||||
minetest.env:set_node(pos,node)
|
||||
meta = minetest.env:get_meta(pos)
|
||||
minetest.set_node(pos,node)
|
||||
meta = minetest.get_meta(pos)
|
||||
meta:from_table(meta0)
|
||||
end
|
||||
|
||||
@@ -1349,7 +1349,7 @@ minetest.register_abm({
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
for i, name in ipairs({
|
||||
"fuel_totaltime",
|
||||
"fuel_time",
|
||||
@@ -1588,99 +1588,6 @@ minetest.register_alias("mapgen_stone_with_coal", "default:stone_with_coal")
|
||||
minetest.register_alias("mapgen_stone_with_iron", "default:stone_with_iron")
|
||||
minetest.register_alias("mapgen_mese", "default:mese")
|
||||
|
||||
minetest.register_biome_groups({
|
||||
0.35, 0.10, 0.30
|
||||
})
|
||||
|
||||
--
|
||||
-- Register the biomes for the map generator
|
||||
--
|
||||
minetest.register_biome({
|
||||
group_id = 0,
|
||||
name = "Ocean",
|
||||
terrain_type = "liquid",
|
||||
node_top = "default:gravel",
|
||||
node_filler = "default:stone",
|
||||
num_top_nodes = 4,
|
||||
height_min = -3000,
|
||||
height_max = 3000,
|
||||
heat_min = -20.0,
|
||||
heat_max = 100.0,
|
||||
humidity_min = 0.0,
|
||||
humidity_max = 100.0,
|
||||
scale = 10.0,
|
||||
offset = -10.0,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
group_id = 1,
|
||||
name = "Beach",
|
||||
terrain_type = "normal",
|
||||
node_top = "default:sand",
|
||||
node_filler = "default:stone",
|
||||
num_top_nodes = 5,
|
||||
height_min = -3000,
|
||||
height_max = 3000,
|
||||
heat_min = 5.0,
|
||||
heat_max = 100.0,
|
||||
humidity_min = 0.0,
|
||||
humidity_max = 100.0,
|
||||
scale = 5.0,
|
||||
offset = 5.0,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
group_id = 1,
|
||||
name = "Gravel Beach",
|
||||
terrain_type = "normal",
|
||||
node_top = "default:gravel",
|
||||
node_filler = "default:cobble",
|
||||
num_top_nodes = 5,
|
||||
height_min = -3000,
|
||||
height_max = 3000,
|
||||
heat_min = -50.0,
|
||||
heat_max = 5.0,
|
||||
humidity_min = 0.0,
|
||||
humidity_max = 100.0,
|
||||
scale = 5.0,
|
||||
offset = 5.0,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
group_id = 2,
|
||||
name = "Land",
|
||||
terrain_type = "normal",
|
||||
node_top = "default:dirt_with_grass",
|
||||
node_filler = "default:stone",
|
||||
num_top_nodes = 5,
|
||||
height_min = -3000,
|
||||
height_max = 3000,
|
||||
heat_min = -50.0,
|
||||
heat_max = 100.0,
|
||||
humidity_min = 0.0,
|
||||
humidity_max = 100.0,
|
||||
scale = 12.0,
|
||||
offset = 20.0,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
group_id = 3,
|
||||
name = "Hills",
|
||||
terrain_type = "normal",
|
||||
node_top = "default:dirt",
|
||||
node_filler = "default:stone",
|
||||
num_top_nodes = 3,
|
||||
height_min = -3000,
|
||||
height_max = 3000,
|
||||
heat_min = -50.0,
|
||||
heat_max = 100.0,
|
||||
humidity_min = 0.0,
|
||||
humidity_max = 100.0,
|
||||
scale = 60.0,
|
||||
offset = 20.0,
|
||||
})
|
||||
|
||||
|
||||
-- Support old code
|
||||
function default.spawn_falling_node(p, nodename)
|
||||
spawn_falling_node(p, nodename)
|
||||
|
||||
@@ -104,17 +104,17 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||
for divz=0+1,divs-1-1 do
|
||||
local cx = minp.x + math.floor((divx+0.5)*divlen)
|
||||
local cz = minp.z + math.floor((divz+0.5)*divlen)
|
||||
if minetest.env:get_node({x=cx,y=1,z=cz}).name == "default:water_source" and
|
||||
minetest.env:get_node({x=cx,y=0,z=cz}).name == "default:sand" then
|
||||
if minetest.get_node({x=cx,y=1,z=cz}).name == "default:water_source" and
|
||||
minetest.get_node({x=cx,y=0,z=cz}).name == "default:sand" then
|
||||
local is_shallow = true
|
||||
local num_water_around = 0
|
||||
if minetest.env:get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then
|
||||
if minetest.get_node({x=cx-divlen*2,y=1,z=cz+0}).name == "default:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if minetest.env:get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then
|
||||
if minetest.get_node({x=cx+divlen*2,y=1,z=cz+0}).name == "default:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if minetest.env:get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then
|
||||
if minetest.get_node({x=cx+0,y=1,z=cz-divlen*2}).name == "default:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if minetest.env:get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then
|
||||
if minetest.get_node({x=cx+0,y=1,z=cz+divlen*2}).name == "default:water_source" then
|
||||
num_water_around = num_water_around + 1 end
|
||||
if num_water_around >= 2 then
|
||||
is_shallow = false
|
||||
@@ -122,8 +122,8 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||
if is_shallow then
|
||||
for x1=-divlen,divlen do
|
||||
for z1=-divlen,divlen do
|
||||
if minetest.env:get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" then
|
||||
minetest.env:set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"})
|
||||
if minetest.get_node({x=cx+x1,y=0,z=cz+z1}).name == "default:sand" then
|
||||
minetest.set_node({x=cx+x1,y=0,z=cz+z1}, {name="default:clay"})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -28,10 +28,10 @@ minetest.after(1.0, switch_player_visual)
|
||||
]]
|
||||
|
||||
minetest.register_node("experimental:soundblock", {
|
||||
tile_images = {"unknown_block.png", "default_tnt_bottom.png",
|
||||
tile_images = {"unknown_node.png", "default_tnt_bottom.png",
|
||||
"default_tnt_side.png", "default_tnt_side.png",
|
||||
"default_tnt_side.png", "default_tnt_side.png"},
|
||||
inventory_image = minetest.inventorycube("unknown_block.png",
|
||||
inventory_image = minetest.inventorycube("unknown_node.png",
|
||||
"default_tnt_side.png", "default_tnt_side.png"),
|
||||
groups = {dig_immediate=3},
|
||||
})
|
||||
@@ -66,7 +66,7 @@ test_sound()
|
||||
function on_step(dtime)
|
||||
-- print("experimental on_step")
|
||||
--[[
|
||||
objs = minetest.env:get_objects_inside_radius({x=0,y=0,z=0}, 10)
|
||||
objs = minetest.get_objects_inside_radius({x=0,y=0,z=0}, 10)
|
||||
for k, obj in pairs(objs) do
|
||||
name = obj:get_player_name()
|
||||
if name then
|
||||
@@ -86,17 +86,17 @@ function on_step(dtime)
|
||||
experimental.t1 = experimental.t1 + dtime
|
||||
if experimental.t1 >= 2 then
|
||||
experimental.t1 = experimental.t1 - 2
|
||||
minetest.log("time of day is "..minetest.env:get_timeofday())
|
||||
minetest.log("time of day is "..minetest.get_timeofday())
|
||||
if experimental.day then
|
||||
minetest.log("forcing day->night")
|
||||
experimental.day = false
|
||||
minetest.env:set_timeofday(0.0)
|
||||
minetest.set_timeofday(0.0)
|
||||
else
|
||||
minetest.log("forcing night->day")
|
||||
experimental.day = true
|
||||
minetest.env:set_timeofday(0.5)
|
||||
minetest.set_timeofday(0.5)
|
||||
end
|
||||
minetest.log("time of day is "..minetest.env:get_timeofday())
|
||||
minetest.log("time of day is "..minetest.get_timeofday())
|
||||
end
|
||||
--]]
|
||||
end
|
||||
@@ -133,8 +133,8 @@ minetest.register_node("experimental:tnt", {
|
||||
|
||||
minetest.register_on_punchnode(function(p, node)
|
||||
if node.name == "experimental:tnt" then
|
||||
minetest.env:remove_node(p)
|
||||
minetest.env:add_entity(p, "experimental:tnt")
|
||||
minetest.remove_node(p)
|
||||
minetest.add_entity(p, "experimental:tnt")
|
||||
nodeupdate(p)
|
||||
end
|
||||
end)
|
||||
@@ -262,7 +262,7 @@ minetest.register_on_chat_message(function(name, message)
|
||||
minetest.chat_send_player(name, "you don't have permission to interact")
|
||||
return true -- Handled chat message
|
||||
end
|
||||
local player = minetest.env:get_player_by_name(name)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player == nil then
|
||||
print("Unable to spawn entity, player is nil")
|
||||
return true -- Handled chat message
|
||||
@@ -270,7 +270,7 @@ minetest.register_on_chat_message(function(name, message)
|
||||
local entityname = "experimental:dummyball"
|
||||
local p = player:getpos()
|
||||
p.y = p.y + 1
|
||||
minetest.env:add_entity(p, entityname)
|
||||
minetest.add_entity(p, entityname)
|
||||
minetest.chat_send_player(name, '"'..entityname
|
||||
..'" spawned.');
|
||||
return true -- Handled chat message
|
||||
@@ -323,7 +323,7 @@ end)
|
||||
minetest.register_on_generated(function(minp, maxp)
|
||||
--print("on_generated: minp="..dump(minp).." maxp="..dump(maxp))
|
||||
--cp = {x=(minp.x+maxp.x)/2, y=(minp.y+maxp.y)/2, z=(minp.z+maxp.z)/2}
|
||||
--minetest.env:add_node(cp, {name="sand"})
|
||||
--minetest.add_node(cp, {name="sand"})
|
||||
end)
|
||||
|
||||
-- Example setting get
|
||||
@@ -353,7 +353,7 @@ end)
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
print("TNT ABM action")
|
||||
pos.y = pos.y + 1
|
||||
minetest.env:add_node(pos, {name="papyrus"})
|
||||
minetest.add_node(pos, {name="papyrus"})
|
||||
end,
|
||||
})]]
|
||||
|
||||
@@ -364,7 +364,7 @@ end)
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
print("ABM: Sign text changed")
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_text("foo")
|
||||
end,
|
||||
})]]
|
||||
@@ -395,7 +395,7 @@ minetest.register_abm({
|
||||
end
|
||||
|
||||
pos.y = pos.y + 1
|
||||
n = minetest.env:get_node(pos)
|
||||
n = minetest.get_node(pos)
|
||||
print(dump(n))
|
||||
if n.name ~= "air" then
|
||||
return
|
||||
@@ -404,7 +404,7 @@ minetest.register_abm({
|
||||
pos.y = pos.y + 2
|
||||
ncpos = pos
|
||||
nctime = os.clock()
|
||||
minetest.env:add_node(ncpos, {name="nyancat"})
|
||||
minetest.add_node(ncpos, {name="nyancat"})
|
||||
end
|
||||
})
|
||||
|
||||
@@ -431,12 +431,12 @@ minetest.register_abm({
|
||||
p2 = {x = p1.x + s1[2], y = p1.y, z = p1.z + s1[3]}
|
||||
table.insert(ncold, 1, p0)
|
||||
while #ncold >= 10 do
|
||||
minetest.env:add_node(ncold[#ncold], {name="air"})
|
||||
minetest.add_node(ncold[#ncold], {name="air"})
|
||||
table.remove(ncold, #ncold)
|
||||
end
|
||||
minetest.env:add_node(p0, {name="nyancat_rainbow"})
|
||||
minetest.env:add_node(p1, {name="nyancat", param1=s0[4]})
|
||||
minetest.env:add_node(p2, {name="air"})
|
||||
minetest.add_node(p0, {name="nyancat_rainbow"})
|
||||
minetest.add_node(p1, {name="nyancat", param1=s0[4]})
|
||||
minetest.add_node(p2, {name="air"})
|
||||
ncpos = p1
|
||||
end
|
||||
end,
|
||||
@@ -448,20 +448,20 @@ minetest.register_node("experimental:tester_node_1", {
|
||||
groups = {oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
-- This was known to cause a bug in minetest.item_place_node() when used
|
||||
-- via minetest.env:place_node(), causing a placer with no position
|
||||
-- via minetest.place_node(), causing a placer with no position
|
||||
paramtype2 = "facedir",
|
||||
|
||||
on_construct = function(pos)
|
||||
experimental.print_to_everything("experimental:tester_node_1:on_construct("..minetest.pos_to_string(pos)..")")
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("mine", "test")
|
||||
local timer = minetest.env:get_node_timer(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(4, 3)
|
||||
end,
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
experimental.print_to_everything("experimental:tester_node_1:after_place_node("..minetest.pos_to_string(pos)..")")
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_string("mine") == "test" then
|
||||
experimental.print_to_everything("correct metadata found")
|
||||
else
|
||||
@@ -493,14 +493,14 @@ minetest.register_craftitem("experimental:tester_tool_1", {
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
--print(dump(pointed_thing))
|
||||
if pointed_thing.type == "node" then
|
||||
if minetest.env:get_node(pointed_thing.under).name == "experimental:tester_node_1" then
|
||||
if minetest.get_node(pointed_thing.under).name == "experimental:tester_node_1" then
|
||||
local p = pointed_thing.under
|
||||
minetest.log("action", "Tester tool used at "..minetest.pos_to_string(p))
|
||||
minetest.env:dig_node(p)
|
||||
minetest.dig_node(p)
|
||||
else
|
||||
local p = pointed_thing.above
|
||||
minetest.log("action", "Tester tool used at "..minetest.pos_to_string(p))
|
||||
minetest.env:place_node(p, {name="experimental:tester_node_1"})
|
||||
minetest.place_node(p, {name="experimental:tester_node_1"})
|
||||
end
|
||||
end
|
||||
end,
|
||||
@@ -556,7 +556,7 @@ minetest.register_chatcommand("test1", {
|
||||
params = "",
|
||||
description = "Test 1: Modify player's inventory view",
|
||||
func = function(name, param)
|
||||
local player = minetest.env:get_player_by_name(name)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if not player then
|
||||
return
|
||||
end
|
||||
|
||||
@@ -79,14 +79,12 @@ minetest.register_craftitem(":rat", {
|
||||
description = "Rat",
|
||||
inventory_image = "rat.png",
|
||||
on_drop = function(item, dropper, pos)
|
||||
minetest.env:add_rat(pos)
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
on_place = function(item, dropped, pointed)
|
||||
pos = minetest.get_pointed_thing_position(pointed, true)
|
||||
if pos ~= nil then
|
||||
minetest.env:add_rat(pos)
|
||||
item:take_item()
|
||||
return item
|
||||
end
|
||||
@@ -103,14 +101,12 @@ minetest.register_craftitem(":firefly", {
|
||||
description = "Firefly",
|
||||
inventory_image = "firefly.png",
|
||||
on_drop = function(item, dropper, pos)
|
||||
minetest.env:add_firefly(pos)
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
on_place = function(item, dropped, pointed)
|
||||
pos = minetest.get_pointed_thing_position(pointed, true)
|
||||
if pos ~= nil then
|
||||
minetest.env:add_firefly(pos)
|
||||
item:take_item()
|
||||
return item
|
||||
end
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
# Uncomment settings by removing the preceding #.
|
||||
#
|
||||
# Further documentation:
|
||||
# http://c55.me/minetest/wiki/doku.php
|
||||
# http://wiki.minetest.com/
|
||||
#
|
||||
# NOTE: This file might not be up-to-date, refer to the
|
||||
# defaultsettings.cpp file for an up-to-date list:
|
||||
# https://bitbucket.org/celeron55/minetest/src/tip/src/defaultsettings.cpp
|
||||
# https://github.com/minetest/minetest/blob/master/src/defaultsettings.cpp
|
||||
#
|
||||
# A vim command to convert most of defaultsettings.cpp to conf file format:
|
||||
# :'<,'>s/\tsettings->setDefault("\([^"]*\)", "\([^"]*\)");.*/#\1 = \2/g
|
||||
@@ -136,6 +136,8 @@
|
||||
#screenshot_path = .
|
||||
# Amount of view bobbing (0 = no view bobbing, 1.0 = normal, 2.0 = double)
|
||||
#view_bobbing_amount = 1.0
|
||||
# Amount of fall bobbing (0 = no fall bobbing, 1.0 = normal, 2.0 = double)
|
||||
#fall_bobbing_amount = 0.0
|
||||
# Anaglyph stereo
|
||||
#anaglyph = false
|
||||
#anaglyph_strength = 0.1
|
||||
@@ -149,6 +151,8 @@
|
||||
#crosshair_color = (255,255,255)
|
||||
# Cross alpha (opaqueness, between 0 and 255)
|
||||
#crosshair_alpha = 255
|
||||
# Sensitivity multiplier
|
||||
#mouse_sensitivity = 0.2
|
||||
# Sound settings
|
||||
#enable_sound = true
|
||||
#sound_volume = 0.7
|
||||
@@ -250,6 +254,10 @@
|
||||
#max_block_send_distance = 10
|
||||
# From how far blocks are generated for clients (value * 16 nodes)
|
||||
#max_block_generate_distance = 6
|
||||
# Number of extra blocks that can be loaded by /clearobjects at once
|
||||
# This is a trade-off between sqlite transaction overhead and
|
||||
# memory consumption (4096=100MB, as a rule of thumb)
|
||||
#max_clearobjects_extra_loaded_blocks = 4096
|
||||
# Interval of sending time of day to clients
|
||||
#time_send_interval = 5
|
||||
# Length of day/night cycle. 72=20min, 360=4min, 1=24hour, 0=day/night/whatever stays unchanged
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
You can install Minetest mods by copying (and extracting) them into this folder.
|
||||
4
mods/mods_here.txt
Normal file
4
mods/mods_here.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
You can install Minetest mods by copying (and extracting) them into this folder.
|
||||
To enable them, go to the configure world window in the main menu or write
|
||||
load_mod_<modname> = true
|
||||
in world.mt in the world directory.
|
||||
@@ -1,90 +0,0 @@
|
||||
# Makefile for Irrlicht Examples
|
||||
# It's usually sufficient to change just the target name and source file list
|
||||
# and be sure that CXX is set to a valid compiler
|
||||
SOURCE_FILES = porting.cpp guiMessageMenu.cpp materials.cpp guiTextInputMenu.cpp guiInventoryMenu.cpp irrlichtwrapper.cpp guiPauseMenu.cpp defaultsettings.cpp mapnode.cpp tile.cpp voxel.cpp mapblockobject.cpp inventory.cpp debug.cpp serialization.cpp light.cpp filesys.cpp connection.cpp environment.cpp client.cpp server.cpp socket.cpp mapblock.cpp mapsector.cpp heightmap.cpp map.cpp player.cpp utility.cpp main.cpp test.cpp
|
||||
|
||||
DEBUG_TARGET = debugtest
|
||||
DEBUG_SOURCES = $(addprefix src/, $(SOURCE_FILES))
|
||||
DEBUG_BUILD_DIR = debugbuild
|
||||
DEBUG_OBJECTS = $(addprefix $(DEBUG_BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o))
|
||||
|
||||
FAST_TARGET = fasttest
|
||||
FAST_SOURCES = $(addprefix src/, $(SOURCE_FILES))
|
||||
FAST_BUILD_DIR = fastbuild
|
||||
FAST_OBJECTS = $(addprefix $(FAST_BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o))
|
||||
|
||||
SERVER_TARGET = server
|
||||
SERVER_SOURCE_FILES = porting.cpp materials.cpp defaultsettings.cpp mapnode.cpp voxel.cpp mapblockobject.cpp inventory.cpp debug.cpp serialization.cpp light.cpp filesys.cpp connection.cpp environment.cpp server.cpp socket.cpp mapblock.cpp mapsector.cpp heightmap.cpp map.cpp player.cpp utility.cpp servermain.cpp test.cpp
|
||||
SERVER_SOURCES = $(addprefix src/, $(SERVER_SOURCE_FILES))
|
||||
SERVER_BUILD_DIR = serverbuild
|
||||
SERVER_OBJECTS = $(addprefix $(SERVER_BUILD_DIR)/, $(SERVER_SOURCE_FILES:.cpp=.o))
|
||||
|
||||
IRRLICHTPATH = ../irrlicht/irrlicht-1.7.1
|
||||
JTHREADPATH = ../jthread/jthread-1.2.1
|
||||
|
||||
|
||||
all: fast
|
||||
|
||||
ifeq ($(HOSTTYPE), x86_64)
|
||||
LIBSELECT=64
|
||||
endif
|
||||
|
||||
debug: CXXFLAGS = -Wall -g -O1
|
||||
debug: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DDEBUG -DRUN_IN_PLACE
|
||||
debug: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz
|
||||
|
||||
fast: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686
|
||||
fast: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DUNITTEST_DISABLE -DRUN_IN_PLACE
|
||||
fast: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz
|
||||
|
||||
server: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686
|
||||
server: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DSERVER -DUNITTEST_DISABLE -DRUN_IN_PLACE
|
||||
server: LDFLAGS = -L$(JTHREADPATH)/src/.libs -ljthread -lz -lpthread
|
||||
|
||||
DEBUG_DESTPATH = bin/$(DEBUG_TARGET)
|
||||
FAST_DESTPATH = bin/$(FAST_TARGET)
|
||||
SERVER_DESTPATH = bin/$(SERVER_TARGET)
|
||||
|
||||
# Build commands
|
||||
|
||||
debug: $(DEBUG_BUILD_DIR) $(DEBUG_DESTPATH)
|
||||
fast: $(FAST_BUILD_DIR) $(FAST_DESTPATH)
|
||||
server: $(SERVER_BUILD_DIR) $(SERVER_DESTPATH)
|
||||
|
||||
$(DEBUG_BUILD_DIR):
|
||||
mkdir -p $(DEBUG_BUILD_DIR)
|
||||
$(FAST_BUILD_DIR):
|
||||
mkdir -p $(FAST_BUILD_DIR)
|
||||
$(SERVER_BUILD_DIR):
|
||||
mkdir -p $(SERVER_BUILD_DIR)
|
||||
|
||||
$(DEBUG_DESTPATH): $(DEBUG_OBJECTS)
|
||||
$(CXX) -o $@ $(DEBUG_OBJECTS) $(LDFLAGS)
|
||||
|
||||
$(FAST_DESTPATH): $(FAST_OBJECTS)
|
||||
$(CXX) -o $@ $(FAST_OBJECTS) $(LDFLAGS)
|
||||
|
||||
$(SERVER_DESTPATH): $(SERVER_OBJECTS)
|
||||
$(CXX) -o $@ $(SERVER_OBJECTS) $(LDFLAGS)
|
||||
|
||||
$(DEBUG_BUILD_DIR)/%.o: src/%.cpp
|
||||
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
|
||||
|
||||
$(FAST_BUILD_DIR)/%.o: src/%.cpp
|
||||
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
|
||||
|
||||
$(SERVER_BUILD_DIR)/%.o: src/%.cpp
|
||||
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
|
||||
|
||||
clean: clean_debug clean_fast clean_server
|
||||
|
||||
clean_debug:
|
||||
@$(RM) $(DEBUG_OBJECTS) $(DEBUG_DESTPATH)
|
||||
|
||||
clean_fast:
|
||||
@$(RM) $(FAST_OBJECTS) $(FAST_DESTPATH)
|
||||
|
||||
clean_server:
|
||||
@$(RM) $(SERVER_OBJECTS) $(SERVER_DESTPATH)
|
||||
|
||||
.PHONY: all all_win32 clean clean_debug clean_win32 clean_fast clean_server
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 0.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-02-17 00:41+0200\n"
|
||||
"Last-Translator: Rune Biskopstö Christensen <lakersforce@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Tjek debug.txt for detaljer."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +62,7 @@ msgstr ""
|
||||
"Advarsel: nogle modifikationer er endnu ikke konfigureret.\n"
|
||||
"De vil blive aktiveret som standard når du gemmer konfigurationen. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +74,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "aktiveret"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Aktivér alle"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Deaktivér alle"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "afhænger af:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "er påkrævet af:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Anuller"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Gem"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Konfiguration gemt. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Advarsel: konfigurationen er ikke sammenhængende. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Nej"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Verdens navn"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Spil"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Skab"
|
||||
|
||||
@@ -103,100 +139,100 @@ msgstr "Genopstå"
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "Venstre klik: flyt alle enheder. Højre klik: flyt en enkelt enhed"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Fortsæt"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Tastebindinger. (Hvis denne menu fucker op, fjern elementer fra minetest."
|
||||
"conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Brug\" = klatre ned"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr ""
|
||||
"Tryk på \"hop\" hurtigt to gange for at skifte frem og tilbage mellem flyve-"
|
||||
"tilstand"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Tast allerede i brug"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "Tryk på en tast"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Fremad"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Baglæns"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Venstre"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Højre"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Brug"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Hop"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Snige"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Slip"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Beholdning"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Snak"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Kommando"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Konsol"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Omstil flyvning"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Omstil hurtig"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Omstil fylde"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Afstands vælg"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Udskriv stakke"
|
||||
|
||||
@@ -204,181 +240,181 @@ msgstr "Udskriv stakke"
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Kan ikke skabe verden: navnet indeholder ugyldige bogstaver"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Kan ikke skabe verden: en verden med dette navn eksisterer allerede"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Enligspiller"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Flerspiller"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Avanceret"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Indstillinger"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Skabt af"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Vælg verden:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Slet"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Ny"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurér"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Afspil"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Kreativ tilstand"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Aktivér skade"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Navn/kodeord"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
#, fuzzy
|
||||
msgid "Favorites:"
|
||||
msgstr "Vis favoritter"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Adresse/port"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Vis offentlig"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Vis favoritter"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Forbind"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Lad adresse-feltet være tomt for at starte en lokal server."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Start spil / Forbind"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#, fuzzy
|
||||
msgid "Public"
|
||||
msgstr "Vis offentlig"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Slet verden"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Skab verden"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "\"Smarte\" træer"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Glat belysning"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D skyer"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Opakt (uigennemsigtigt) vand"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Anisotropisk filtréring"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Bi-lineær filtréring"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Tri-lineær filtréring"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shadere"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "For-indlæs elementernes grafik"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Aktivér partikler"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Skift bindinger"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Adresse påkrævet."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Kan ikke slette verden: ingenting valgt"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Filer som slettes"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Kan ikke skabe verden: ingen spil fundet"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Kan ikke konfigurere verden: ingenting valgt"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Mislykkedes i at slette alle verdenens filer"
|
||||
|
||||
@@ -386,73 +422,62 @@ msgstr "Mislykkedes i at slette alle verdenens filer"
|
||||
msgid "Old Password"
|
||||
msgstr "Gammelt kodeord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nyt kodeord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Bekræft kodeord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Skift"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Kodeordene er ikke ens!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Fortsæt"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Skift kodeord"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Afslut til menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Afslut til operativsystemet"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Standard bindinger:\n"
|
||||
"- WASD: bevægelse\n"
|
||||
"- Venstre musetast: grav/slå\n"
|
||||
"- Højre musetast: anbring/brug\n"
|
||||
"- Musehjul: vælg genstand\n"
|
||||
"- 0...9: vælg genstand\n"
|
||||
"- Shift: snige\n"
|
||||
"- R: omstil se alle indlæste klumper\n"
|
||||
"- I: beholdning\n"
|
||||
"- ESC: denne menu\n"
|
||||
"- T: snak\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -751,37 +776,54 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Hovedmenu"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Mislykkedes i at initialisere verden"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Ingen verden valgt og ingen adresse angivet. Ingen opgave at lave."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Kunne ikke finde eller indlæse spil \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Ugyldig spilspecifikationer."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Forbindelses fejl (udløbelse af tidsfrist?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Tjek debug.txt for detaljer."
|
||||
|
||||
#~ msgid "Delete map"
|
||||
#~ msgstr "Slet mappen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Standard bindinger:\n"
|
||||
#~ "- WASD: bevægelse\n"
|
||||
#~ "- Venstre musetast: grav/slå\n"
|
||||
#~ "- Højre musetast: anbring/brug\n"
|
||||
#~ "- Musehjul: vælg genstand\n"
|
||||
#~ "- 0...9: vælg genstand\n"
|
||||
#~ "- Shift: snige\n"
|
||||
#~ "- R: omstil se alle indlæste klumper\n"
|
||||
#~ "- I: beholdning\n"
|
||||
#~ "- ESC: denne menu\n"
|
||||
#~ "- T: snak\n"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 0.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-04-01 18:56+0200\n"
|
||||
"Last-Translator: Sfan5 . <sfan5@live.de>\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-14 12:51+0200\n"
|
||||
"Last-Translator: Pilz Adam <PilzAdam@gmx.de>\n"
|
||||
"Language-Team: Deutsch <>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr "Inventarbilder..."
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr "Lädt..."
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr "Erstelle Server..."
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr "Erstelle Client..."
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr "Löse Adresse auf..."
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr "Verbinde zum Server..."
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr "Herunterfahren..."
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Siehe debug.txt für Details."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +62,7 @@ msgstr ""
|
||||
"Warnung: Einige Mods sind noch nicht konfiguriert.\n"
|
||||
"Sie werden aktiviert wenn die Konfiguration gespeichert wird. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +74,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "Aktiviert"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Alle an"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Alle aus"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "abhängig von:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "wird benötigt von:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Konfiguration gespeichert. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Warnung: Konfiguration nicht konsistent. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Weltname"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Spiel"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Erstellen"
|
||||
|
||||
@@ -103,277 +139,277 @@ msgstr "Wiederbeleben"
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "Linksklick: Alle Items bewegen, Rechtsklick: Einzelnes Item bewegen"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Fortsetzen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "Steuerung"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Benutzen\" = herunterklettern"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Doppelt \"springen\" zum fliegen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Taste bereits in Benutzung"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "Taste drücken"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Vorwärts"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Rückwärts"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Links"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Rechts"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Benutzen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Springen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Schleichen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Wegwerfen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inventar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Chat"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Befehl"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Konsole"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Fliegen umsch."
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Speed umsch."
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Noclip umsch."
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Entfernung wählen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Stack ausgeben"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Kann Welt nicht erstellen: Name enthält ungülige Zeichen"
|
||||
msgstr "Kann Welt nicht erstellen: Name enthält ungültige Zeichen"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr ""
|
||||
"Kann Welt nicht erstellen: Eine Welt mit diesem Namen existiert bereits"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Einzelspieler"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Mehrspieler"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Erweitert"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Credits"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Welt wählen:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Neu"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurieren"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Spielen"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Kreativitätsmodus"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Schaden einschalten"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Name/Passwort"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Zeige Favoriten:"
|
||||
msgstr "Favoriten:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Öffentliche Server Liste:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Adresse / Port"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Zeige öffentliche"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Zeige Favoriten"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Lasse die Adresse frei um einen eigenen Server zu starten."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Spiel starten / Verbinden"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Öffentlich"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Welt löschen"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Welt erstellen"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Schöne Bäume"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Besseres Licht"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D Wolken"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Undurchs. Wasser"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Anisotroper Filter"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Bi-Linearer Filter"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Tri-Linearer Filter"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shader"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Lade Inventarbilder vor"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Aktiviere Partikel"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Realistiches Wasser"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Tasten ändern"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Adresse benötigt."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Kann Welt nicht löchen: Nichts ausgewählt"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Zu löschende Dateien"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Kann Welt nicht erstellen: Keine Spiele gefunden"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Kann Welt nicht konfigurieren: Nichts ausgewählt"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Es konnten nicht alle Welt Dateien gelöscht werden"
|
||||
|
||||
@@ -381,72 +417,73 @@ msgstr "Es konnten nicht alle Welt Dateien gelöscht werden"
|
||||
msgid "Old Password"
|
||||
msgstr "Altes Passwort"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Passwort wiederholen"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Ändern"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Passwörter passen nicht zusammen!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Weiter"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Sound Lautstärke"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Programm beenden"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Steuerung:\n"
|
||||
"- WASD: Gehen\n"
|
||||
"- Linksklick: Graben/Schlagen\n"
|
||||
"- Rechtsklick: Platzieren\n"
|
||||
"- Mausrad: Item auswählen\n"
|
||||
"- 0...9: Item auswählen\n"
|
||||
"- Shift: Schleichen\n"
|
||||
"- R: alle geladenen Blöcke anzeigen (wechseln)\n"
|
||||
"Standard Tastaturebelegung:\n"
|
||||
"- WASD: Bewegen\n"
|
||||
"- Leertaste: Springen/Klettern\n"
|
||||
"- Umschalt: Kriechen/herunterklettern\n"
|
||||
"- Q: Item droppen\n"
|
||||
"- I: Inventar\n"
|
||||
"- Maus: drehen/umschauen\n"
|
||||
"- Maus links: Abbauen/Schlagen\n"
|
||||
"- Maus rechts: Platzieren/Benutzen\n"
|
||||
"- Mausrad: Item auswählen\n"
|
||||
"- T: Chat\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Sound Lautstärke: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Zurück"
|
||||
|
||||
@@ -742,40 +779,56 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Kann Welt nicht initialisieren"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Keine Welt ausgewählt und keine Adresse angegeben. Nichts zu tun."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Kann Spiel nicht finden/laden \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Invalide Spielspezif."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Verbindungsfehler (Zeitüberschreitung?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Siehe debug.txt für Details."
|
||||
#~ msgid "KEYBINDINGS"
|
||||
#~ msgstr "TASTEN EINST."
|
||||
|
||||
#~ msgid "Delete map"
|
||||
#~ msgstr "Karte löschen"
|
||||
|
||||
#~ msgid "KEYBINDINGS"
|
||||
#~ msgstr "TASTEN EINST."
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Steuerung:\n"
|
||||
#~ "- WASD: Gehen\n"
|
||||
#~ "- Linksklick: Graben/Schlagen\n"
|
||||
#~ "- Rechtsklick: Platzieren\n"
|
||||
#~ "- Mausrad: Item auswählen\n"
|
||||
#~ "- 0...9: Item auswählen\n"
|
||||
#~ "- Shift: Schleichen\n"
|
||||
#~ "- R: alle geladenen Blöcke anzeigen (wechseln)\n"
|
||||
#~ "- I: Inventar\n"
|
||||
#~ "- T: Chat\n"
|
||||
|
||||
818
po/du/minetest.po
Normal file
818
po/du/minetest.po
Normal file
@@ -0,0 +1,818 @@
|
||||
# SOME DESCRIPTIVE TITLE. DUTCH TRANSLATION
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-04-18 15:28+0100\n"
|
||||
"Last-Translator: LS-Steeef \n"
|
||||
"Language-Team: \n"
|
||||
"Language: dutch\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.5.5\n"
|
||||
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Let op: Nog niet alle mods zijn geconfigueerd. \n"
|
||||
"De mods zullen automatisch worden ingeschakeld als je de configuratie "
|
||||
"bewaard."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
"LEt op: Sommige ingestelde mods zijn vermist.\n"
|
||||
"Hun instellingen worden verwijderd als je de configuratie opslaat."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr "ingeschakeld"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Allen inschakelen"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Allen uitschakelen"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "heeft nodig:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "is benodigd voor:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleer"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Bewaar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Instellingen bewaard."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Waarschuwing: Instellingen niet consistent."
|
||||
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Nee"
|
||||
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Naam wereld"
|
||||
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Spel"
|
||||
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Maak aan"
|
||||
|
||||
#: src/guiDeathScreen.cpp:96
|
||||
msgid "You died."
|
||||
msgstr "Je bent gestorven."
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr "Respawn"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
"Linkermuisknop: Verplaats alle items. Rechtermuisknop: Verplaats één item."
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "Sneltoetsen."
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Use\" = Omlaag klimmen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Dubbelklik op \"jump\" om te vliegen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Toets is al in gebruik"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "druk op"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Vooruit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Achteruit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Links"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Rechts"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Gebruikwn"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Springen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Kruipen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Weggooien"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Rugzak"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Chat"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Opdracht"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Console"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Vliegen aan/uit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Snel bewegen aan/uit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Noclip aan/uit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Range instellen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Print stacks"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Kan geen nieuwe wereld aanmaken: de naam bevat onjuiste tekens."
|
||||
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Kan geen nieuwe wereld aanmaken: De naam bestaat al."
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Singleplayer"
|
||||
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Multiplayer"
|
||||
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Geavanceerd"
|
||||
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Credits"
|
||||
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Selecteer Wereld:"
|
||||
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Nieuw"
|
||||
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Speel!"
|
||||
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Creative Modus"
|
||||
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Schade inschakelen"
|
||||
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Naam/Wachtwoord"
|
||||
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Favourieten:"
|
||||
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Publieke Server lijst:"
|
||||
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "IP-Adres/Poort"
|
||||
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Publieke server"
|
||||
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Favourieten"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Laat het adres leeg om een lokale server te starten."
|
||||
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Start het spel / Verbind"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Publiek"
|
||||
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Verwijder wereld"
|
||||
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Maak wereld aan"
|
||||
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Mooie bomen"
|
||||
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Mooie verlichting"
|
||||
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D wolken"
|
||||
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Doorzichtig water"
|
||||
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Bi-Linear Filtering"
|
||||
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Bi-Linear Filtering"
|
||||
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Tri-Linear Filtering"
|
||||
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shaders"
|
||||
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Preload item visuals"
|
||||
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Enable Particles"
|
||||
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Finite liquid"
|
||||
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Sneltoetsen veranderen"
|
||||
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "IP-adres nodig."
|
||||
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Kan niets verwijderen: Geen wereld geselecteerd."
|
||||
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Deze bestanden worden verwijderd"
|
||||
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Kan geen wereld aanmaken: Geen games gevonden"
|
||||
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Kan instellingen niet aanpassen: Niets geselecteerd"
|
||||
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Niet alle bestanden zijn verwijderd"
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr "Huidig wachtwoord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nieuw wachtwoord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Herhaal wachtwoord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Veranderen"
|
||||
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Wachtwoorden zijn niet gelijk!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Verander wachtwoord"
|
||||
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Volume"
|
||||
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Exit naar menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Volume:"
|
||||
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Exit"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr "Linkermuisknop"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr "Muiswielknop"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr "Rechtmuisknop"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
msgstr "X knop 1"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Back"
|
||||
msgstr "Terug"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Return"
|
||||
msgstr "Return"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Tab"
|
||||
msgstr "Tab"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "X Button 2"
|
||||
msgstr "X knop 2"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Capital"
|
||||
msgstr "Kapitaal"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Kana"
|
||||
msgstr "Kana"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Pause"
|
||||
msgstr "Pauze"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Shift"
|
||||
msgstr "Shift"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Convert"
|
||||
msgstr "Converteren"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Escape"
|
||||
msgstr "Escape"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Final"
|
||||
msgstr "Final"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Junja"
|
||||
msgstr "Junja"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Kanji"
|
||||
msgstr "Kanji"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Nonconvert"
|
||||
msgstr "Nonconvert"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Accept"
|
||||
msgstr "Accepteren"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "End"
|
||||
msgstr "End"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Mode Change"
|
||||
msgstr "Modus veranderen"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Prior"
|
||||
msgstr "Eerste"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Space"
|
||||
msgstr "Spatie"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Down"
|
||||
msgstr "Omlaag"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Execute"
|
||||
msgstr "Uitvoeren"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
msgstr "Print"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Up"
|
||||
msgstr "Omhoog"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
msgstr "Insert"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
msgstr "Screenshot"
|
||||
|
||||
#: src/keycode.cpp:232
|
||||
msgid "Left Windows"
|
||||
msgstr "Linker Windowstoets"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Apps"
|
||||
msgstr "Apps"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 0"
|
||||
msgstr "Numpad 0"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 1"
|
||||
msgstr "Numpad 1"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Right Windows"
|
||||
msgstr "Rechter Windowstoets"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Sleep"
|
||||
msgstr "Slaapknop"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 2"
|
||||
msgstr "Numpad 2"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 3"
|
||||
msgstr "Numpad 3"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 4"
|
||||
msgstr "Numpad 4"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 5"
|
||||
msgstr "Numpad 5"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 6"
|
||||
msgstr "Numpad 6"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 7"
|
||||
msgstr "Numpad 7"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad *"
|
||||
msgstr "Numpad *"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad +"
|
||||
msgstr "Numpad +"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad -"
|
||||
msgstr "Numpad -"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad /"
|
||||
msgstr "Numpad /"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 8"
|
||||
msgstr "Numpad 8"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 9"
|
||||
msgstr "Numpad 9"
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Num Lock"
|
||||
msgstr "Num Lock"
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Scroll Lock"
|
||||
msgstr "Scroll Lock"
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Left Shift"
|
||||
msgstr "Linker Shift"
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Right Shift"
|
||||
msgstr "Rechter Shift"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Control"
|
||||
msgstr "Linker Ctrl"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Menu"
|
||||
msgstr "Linker Menu"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Control"
|
||||
msgstr "Rechter Ctrl"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Menu"
|
||||
msgstr "Rechter Menu"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Comma"
|
||||
msgstr "Komma"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Minus"
|
||||
msgstr "Min"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Period"
|
||||
msgstr "Punt"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Plus"
|
||||
msgstr "Plus"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "Attn"
|
||||
msgstr "Attn"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "CrSel"
|
||||
msgstr "CrSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Erase OEF"
|
||||
msgstr "Erase OEF"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "ExSel"
|
||||
msgstr "ExSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "OEM Clear"
|
||||
msgstr "OEM Clear"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "PA1"
|
||||
msgstr "PA1"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Laden van wereld is mislukt"
|
||||
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Geen wereld en adres geselecteerd. Niks te doen."
|
||||
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Kan niet de game laden of vinden."
|
||||
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Onjuiste gamespec."
|
||||
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Connection error (timed out?)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Default Besturing:\n"
|
||||
#~ "- WASD: Lopen\n"
|
||||
#~ "- Linkermuisknop: Graaf/Sla\n"
|
||||
#~ "- Rechtmuisknop: Plaats/Gebruik\n"
|
||||
#~ "- Muiswiel: selecteer item\n"
|
||||
#~ "- 0...9: selecteer item\n"
|
||||
#~ "- Shift: kruipen\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Rugzak\n"
|
||||
#~ "- ESC: Menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-04-03 17:22+0200\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-16 14:51+0200\n"
|
||||
"Last-Translator: Diego Martínez <lkaezadl3@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: es\n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr "Texturas de objetos..."
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr "Cargando..."
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr "Creando servidor..."
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr "Creando cliente..."
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr "Resolviendo dirección..."
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr "Conectando al servidor..."
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr "Apagando cosas..."
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Consulta debug.txt para obtener más detalles."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +62,7 @@ msgstr ""
|
||||
"ADVERTENCIA: Algunos mods no están aún configurados.\n"
|
||||
"Se habilitarán de forma predeterminada al guardar la configuración. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +74,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "Activado"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Activar todos"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Desactivar todos"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "Dependencias:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "es requerido por:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Configuración guardada. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "ADVERTENCIA: La configuración no corresponde. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Nombre del mundo"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Juego"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
@@ -104,98 +140,98 @@ msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
"Click izquierdo: Mover todos los objetos. Click derecho: Mover un objeto."
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Combinaciones de teclas.(Si este menú da error, cambiar configuración en "
|
||||
"minetest.conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Usar\" = Descender"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Dos veces \"saltar\" para volar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "La tecla se está utilizando"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "Pulsa una tecla"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Adelante"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Atrás"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Izquierda"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Derecha"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Usar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Saltar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Caminar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Tirar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inventario"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Chat"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Comando"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Consola"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Activar Volar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Activar Modo Rápido"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Activar noclip"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Seleccionar distancia"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Imprimir Pilas"
|
||||
|
||||
@@ -203,179 +239,179 @@ msgstr "Imprimir Pilas"
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "No se puede crear el mundo: El nombre contiene caracteres no válidos"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "No se puede crear el mundo: Hay un mundo con este nombre"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Un jugador"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Multijugador"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Avanzado"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Créditos"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Selecciona un mundo:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Nuevo"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Jugar"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Modo creativo"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Permitir daños"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nombre/Clave"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Favoritos:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Lista de Servidores Públicos:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Dirección/Puerto"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Servidores Públicos"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Mostrar Favoritos"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Dejar la dirección en blanco para iniciar un servidor local."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Iniciar juego/Conectar"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Público"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Eliminar Mundo"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Crear Mundo"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Árboles detallados"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Iluminación Suave"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "Nubes 3D"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Agua Opaca"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Filtrado Anisotrópico"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Filtrado Bi-Lineal"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Filtrado Tri-Lineal"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Sombreadores"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Precarga elementos visuales"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Habilitar partículas"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Líquidos Finitos"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Configurar Teclas"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Requiere una dirección."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "No se puede eliminar el mundo: ninguno ha sido seleccionado"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Archivos que se eliminarán"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "No se puede crear el mundo: No se encontraron juegos"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "No se puede configurar el mundo: Ninguno seleccionado"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "No se pudo eliminar todos los archivos del mundo"
|
||||
|
||||
@@ -383,73 +419,73 @@ msgstr "No se pudo eliminar todos los archivos del mundo"
|
||||
msgid "Old Password"
|
||||
msgstr "Contraseña anterior"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nueva contraseña"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Confirmar contraseña"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Cambiar"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "¡Las contraseñas no coinciden!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Modificar contraseña"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Volúmen del Sonido"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Salir al menú"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Salir al S.O."
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Controles predeterminados:\n"
|
||||
"- WASD: Caminar \n"
|
||||
"- Ratón, izquierdo: Cavar/Golpear\n"
|
||||
"- Ratón, derecho: Poner bloque/Usar\n"
|
||||
"- Ratón, rueda: seleccionar objecto\n"
|
||||
"- 0... 9: Seleccionar objecto\n"
|
||||
"- Mayúscula: caminar despacio\n"
|
||||
"- R: Ajustar distancia de los pedazos cargados\n"
|
||||
"- I: Inventario \n"
|
||||
"- ESC: Este Menu\n"
|
||||
"- T: Conversar\n"
|
||||
"Controles Pred.:\n"
|
||||
"- WASD: moverse\n"
|
||||
"- Espacio: saltar/subir\n"
|
||||
"- Mayús.: puntillas/bajar\n"
|
||||
"- Q: soltar objeto\n"
|
||||
"- I: inventario\n"
|
||||
"- Ratón: girar/mirar\n"
|
||||
"- Ratón izq.: cavar/golpear\n"
|
||||
"- Ratón der.: colocar/usar\n"
|
||||
"- Rueda ratón: elegir objeto\n"
|
||||
"- T: conversar\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Volúmen del Sonido: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Salir"
|
||||
|
||||
@@ -745,35 +781,52 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú Principal"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Fallo al iniciar el mundo"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
"No se seleccionó mundo y no se ha especificado una dirección. Nada que hacer."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "No se puede encontrar o cargar el juego \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Juego especificado no válido."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Error de conexión (¿tiempo agotado?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Consulta debug.txt para obtener más detalles."
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Controles predeterminados:\n"
|
||||
#~ "- WASD: Caminar \n"
|
||||
#~ "- Ratón, izquierdo: Cavar/Golpear\n"
|
||||
#~ "- Ratón, derecho: Poner bloque/Usar\n"
|
||||
#~ "- Ratón, rueda: seleccionar objecto\n"
|
||||
#~ "- 0... 9: Seleccionar objecto\n"
|
||||
#~ "- Mayúscula: caminar despacio\n"
|
||||
#~ "- R: Ajustar distancia de los pedazos cargados\n"
|
||||
#~ "- I: Inventario \n"
|
||||
#~ "- ESC: Este Menu\n"
|
||||
#~ "- T: Conversar\n"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-04-03 17:02+0200\n"
|
||||
"Last-Translator: Pilz Adam <PilzAdam@gmx.de>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Vaata debug.txt info jaoks."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +62,7 @@ msgstr ""
|
||||
"Hoiatus: Mõned modifikatsioonid pole sätitud veel.\n"
|
||||
"Need lülitatakse sisse kohe pärast sätete salvestamist."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +74,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "Sisse lülitatud"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Lülita kõik sisse"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Lülita kõik välja"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "Vajab:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "Seda vajavad:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Tühista"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Salvesta"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Konfiguratsioon salvestatud. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Hoiatus: Konfiguratsioon pole kindel."
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Jah"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Ei"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Maailma nimi"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Mäng"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Loo"
|
||||
|
||||
@@ -104,98 +140,98 @@ msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
"Vasak hiireklõps: Liiguta kõiki asju, Parem hiireklõps: Liiguta üksikut asja"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Jätka"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Nupusätted. (Kui see menüü sassi läheb, siis kustuta asju failist minetest."
|
||||
"conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Tegevus\" = Roni alla"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Topeltklõpsa \"Hüppamist\" et sisse lülitada lendamine"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Nupp juba kasutuses"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "Vajuta nuppu"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Edasi"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Tagasi"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Vasakule"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Paremale"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Tegevus"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Hüppamine"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Hiilimine"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Viska maha"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Seljakott"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Jututuba"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Käsklus"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Konsool"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Lülita lendamine sisse"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Lülita kiirus sisse"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Lülita läbi seinte minek sisse"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Kauguse valik"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Prindi kogused"
|
||||
|
||||
@@ -203,179 +239,179 @@ msgstr "Prindi kogused"
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Maailma loomine ebaõnnestus: Nimes esineb keelatud tähti"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Maailma loomine ebaõnnestus: Samanimeline maailm on juba olemas"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Üksikmäng"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Mitmikmäng"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Arenenud sätted"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Sätted"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Tänuavaldused"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Vali maailm:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Kustuta"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Uus"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Konfigureeri"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Mängi"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Kujunduslik mängumood"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Lülita valu sisse"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nimi/Parool"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Lemmikud:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Avatud serverite nimekiri:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "IP/Port"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Näita avalikke"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Näita lemmikuid"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Liitu"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Jäta IP lahter tühjaks et alustada LAN serverit."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Alusta mängu / Liitu"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Avalik"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Kustuta maailm"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Loo maailm"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Uhked puud"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Ilus valgustus"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D pilved"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Läbipaistmatu vesi"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Väga hea kvaliteet"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Anisotroopne Filtreerimine"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Bi-lineaarsed Filtreerimine"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Tri-Linear Filtreerimine"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Varjutajad"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Lae asjade visuaale"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Lülita osakesed sisse"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Löppev vedelik"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Vaheta nuppe"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "IP on vajalkik."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Maailma kustutamine ebaõnnestus: Maailma pole valitud"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Failid mida kustutada"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Maailma loomine ebaõnnestus: Mängu ei leitud"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Maailma konfigureerimine ebaõnnestus: Pole midagi valitud"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Kõigi maailma failide kustutamine ebaõnnestus"
|
||||
|
||||
@@ -383,73 +419,62 @@ msgstr "Kõigi maailma failide kustutamine ebaõnnestus"
|
||||
msgid "Old Password"
|
||||
msgstr "Vana parool"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Uus parool"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Kinnita parooli"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Muuda"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Paroolid ei ole samad!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Jätka"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Vaheta parooli"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Hääle volüüm"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Välju menüüsse"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Välju mängust"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Algsed nupusätted:\n"
|
||||
"- WASD: Kõnni\n"
|
||||
"- Vasak hiireklõps: Kaeva/löö\n"
|
||||
"- Parem hiireklõps: Aseta/kasuta\n"
|
||||
"- Hiireratas: Vali asi\n"
|
||||
"- 0...9: Vali asi\n"
|
||||
"- Shift: Hiili\n"
|
||||
"- R: Vaheta nägemiskaugust\n"
|
||||
"- I: Seljakott\n"
|
||||
"- ESC: Menüü\n"
|
||||
"- T: Jututupa\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Hääle Volüüm: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Välju"
|
||||
|
||||
@@ -745,34 +770,51 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "Suumi"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menüü"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Maailma initsialiseerimine ebaõnnestus"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Pole valitud ei maailma ega IP aadressi. Pole midagi teha."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Ei leia ega suuda jätkata mängu."
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Vale mängu ID."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Ühenduse viga (Aeg otsas?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Vaata debug.txt info jaoks."
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Algsed nupusätted:\n"
|
||||
#~ "- WASD: Kõnni\n"
|
||||
#~ "- Vasak hiireklõps: Kaeva/löö\n"
|
||||
#~ "- Parem hiireklõps: Aseta/kasuta\n"
|
||||
#~ "- Hiireratas: Vali asi\n"
|
||||
#~ "- 0...9: Vali asi\n"
|
||||
#~ "- Shift: Hiili\n"
|
||||
#~ "- R: Vaheta nägemiskaugust\n"
|
||||
#~ "- I: Seljakott\n"
|
||||
#~ "- ESC: Menüü\n"
|
||||
#~ "- T: Jututupa\n"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 0.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-04-01 14:13+0200\n"
|
||||
"Last-Translator: we prefer instagib metl3 <calinou9999spam@gmail.com>\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-06-01 13:22+0200\n"
|
||||
"Last-Translator: Ilya Zhuravlev <zhuravlevilya@ya.ru>\n"
|
||||
"Language-Team: Français <>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr "Textures d'objets..."
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr "Chargement..."
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr "Création du serveur..."
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr "Création du client..."
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr "Résolution de l'adresse..."
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr "Connexion au serveur..."
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr "Quitter le jeu..."
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Voir debug.txt pour plus d'information."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,68 +62,68 @@ msgstr ""
|
||||
"Attention : certains mods ne sont pas encore configurés.\n"
|
||||
"Ils seront activés par défaut quand vous enregistrerez la configuration. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
"Attention : certains mods configurés sont introuvables.\n"
|
||||
"Leur réglages seront effacés quand vous enregistrerez la configuration. "
|
||||
"Leurs réglages seront effacés quand vous enregistrerez la configuration. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr "activé"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Tout activer"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Tout désactiver"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "dépend de :"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "est requis par :"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Enregistrer"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Configuration enregistrée. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Attention : configuration incorrecte. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Nom du monde"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Jeu"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
@@ -101,278 +137,280 @@ msgstr "Réapparaître"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "Clic gauche: déplacer tous les objets -- Clic droit: déplacer un objet"
|
||||
msgstr ""
|
||||
"Clic gauche : déplacer tous les objets -- Clic droit : déplacer un objet"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "Affectation des touches"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Use\" = descendre (escalade)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Double appui sur \"saut\" pour voler"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Touche déjà utilisée"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "appuyez sur la touche"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Avancer"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Reculer"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Gauche"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Droite"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Utiliser"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Sauter"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Marcher"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Lâcher"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inventaire"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Parler"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Commande"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Console"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Voler"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Mode rapide"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Mode noclip"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Distance de rendu"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Imprimer stacks"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Impossible de créer le monde: le nom contient des caractères invalides"
|
||||
msgstr ""
|
||||
"Impossible de créer le monde : le nom contient des caractères invalides"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Impossible de créer le monde: ce nom est déjà utilisé"
|
||||
msgstr "Impossible de créer le monde : ce nom est déjà utilisé"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Solo"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Multijoueur"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Avancé"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Réglages"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Crédits"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Sélectionner un monde :"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Nouveau"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Configurer"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Jouer"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Mode créatif"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Activer blessures"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nom / MdP"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Favoris :"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Liste de serveurs publics :"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Adresse / Port"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Voir les serveurs publics"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Voir les serveurs favoris"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Rejoindre"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Laisser l'adresse vide pour lancer un serveur local."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Démarrer / Connecter"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Public"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Supprimer ce monde"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Créer un monde"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Feuilles transparentes"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Lumière douce"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "Nuages 3D"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Eau opaque"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Filtrage anisotropique"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Filtrage bilinéaire"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Filtrage trilinéaire"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shaders"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Précharger les visuels d'objets"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Particules"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Liquides limités"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Changer touches"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Adresse requise."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Impossible de supprimer le monde : rien n'est sélectionné"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Fichiers à effacer"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Impossible de créer le monde : aucun jeu n'est présent"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Impossible de configurer ce monde : aucune sélection active"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Tous les fichiers du monde n'ont pu être effacés"
|
||||
|
||||
@@ -380,72 +418,73 @@ msgstr "Tous les fichiers du monde n'ont pu être effacés"
|
||||
msgid "Old Password"
|
||||
msgstr "Ancien mot de passe"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Confirmer mot de passe"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Changer"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Mot de passe incorrect !"
|
||||
msgstr "Les mots de passe ne correspondent pas !"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Changer mot de passe"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Volume sonore"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Quitter vers le menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Quitter le jeu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Touches :\n"
|
||||
"- ZQSD : courir\n"
|
||||
"- Clic gauche : Creuser bloc\n"
|
||||
"- Clic droite : Insérer bloc\n"
|
||||
"- Roulette : Sélection objet\n"
|
||||
"- 0...9 : Sélection objet\n"
|
||||
"- Shift : marcher\n"
|
||||
"- R : active la vue de tous les blocs\n"
|
||||
"Contrôles:\n"
|
||||
"- ZQSD : se déplacer\n"
|
||||
"- Espace : sauter/grimper\n"
|
||||
"- Maj. : marcher prudemment/descendre\n"
|
||||
"- A : lâcher l'objet en main\n"
|
||||
"- I : inventaire\n"
|
||||
"- Souris : tourner/regarder\n"
|
||||
"- Souris gauche : creuser/attaquer\n"
|
||||
"- Souris droite : placer/utiliser\n"
|
||||
"- Molette souris : sélectionner objet\n"
|
||||
"- T : parler\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Volume sonore :"
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "OK"
|
||||
|
||||
@@ -555,7 +594,7 @@ msgstr "Suivant"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Prior"
|
||||
msgstr "Précèdent"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Space"
|
||||
@@ -567,7 +606,7 @@ msgstr "Bas"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Execute"
|
||||
msgstr "Éxécuter"
|
||||
msgstr "Exécuter"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
@@ -741,37 +780,54 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "Zoomer"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Le monde n'a pas pu être initialisé"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Pas de monde sélectionné et pas d'adresse fournie. Rien à faire."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "N'a pas pu trouver ou charger le jeu \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "gamespec invalide."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Erreur de connexion (perte de connexion ?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Voir debug.txt pour plus d'information."
|
||||
|
||||
#~ msgid "Delete map"
|
||||
#~ msgstr "Supprimer carte"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Touches par défaut :\n"
|
||||
#~ "- ZQSD : se déplacer\n"
|
||||
#~ "- Clic gauche : creuser bloc\n"
|
||||
#~ "- Clic droite : insérer bloc\n"
|
||||
#~ "- Roulette : sélectionner objet\n"
|
||||
#~ "- 0...9 : sélectionner objet\n"
|
||||
#~ "- Shift : déplacement prudent\n"
|
||||
#~ "- R : active la vue de tous les blocs\n"
|
||||
#~ "- I : inventaire\n"
|
||||
#~ "- Échap : ce menu\n"
|
||||
#~ "- T : discuter\n"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-03-30 20:50+0200\n"
|
||||
"Last-Translator: Fabio Luongo <e249260@rmqkr.net>\n"
|
||||
"Language-Team: Italian\n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Controlla debug.txt per i dettagli."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +62,7 @@ msgstr ""
|
||||
"Attenzione: alcune mod non sono ancora configurate.\n"
|
||||
"Saranno abilitate di default quando salverai la configurazione. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +74,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "attivato"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Attiva tutto"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Disabilita tutto"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "dipende da:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "è richiesto da:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Salva"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Configurazione salvata. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Attenzione: configurazione non corretta. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Sì"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Nome mondo"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Gioco"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Crea"
|
||||
|
||||
@@ -104,98 +140,98 @@ msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
"Click sinistro: muovi tutti gli oggetti; click destro: muovi un solo oggetto"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Procedi"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Associazione tasti. (Se questo menu si incasina, rimuovi la roba da minetest."
|
||||
"conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Usa\" = scendi sotto"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Premi due volte \"salto\" per volare"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Tasto già usato"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "premi il tasto"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Avanti"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Indietro"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Sinistra"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Destra"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Usa"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Salta"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Abbassati"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Lancia"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inventario"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Parla"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Comando"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Console"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Attiva volo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Aumenta velocità"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "(Non) attraversi blocchi"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Distanza di rendering"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Stampa stack"
|
||||
|
||||
@@ -203,181 +239,181 @@ msgstr "Stampa stack"
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Impossibile creare il mondo: il nome contiene caratteri non validi"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Impossibile creare il mondo: un mondo con questo nome già esiste"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Giocatore singolo"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Multigiocatore"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Avanzato"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Opzioni"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Crediti"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Seleziona mondo:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Nuovo"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Configura"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Gioca"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Modalità creativa"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Attiva danno"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nome/Password"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
#, fuzzy
|
||||
msgid "Favorites:"
|
||||
msgstr "Mostra preferiti"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Indirizzo/Porta"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Lista server pubblici"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Mostra preferiti"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Connetti"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Lascia vuoto l'indirizzo per avviare un server locale."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Avvia gioco/Connetti"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#, fuzzy
|
||||
msgid "Public"
|
||||
msgstr "Lista server pubblici"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Cancella il mondo"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Crea mondo"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Alberi migliori"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Luce uniforme"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "Nuvole 3D"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Acqua opaca"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mipmapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Filtro anisotropico"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Filtro bilineare"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Filtro trilineare"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shader"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Pre-carica le immagini degli oggetti"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Attiva particelle"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Modifica tasti"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Indirizzo necessario."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Impossibile eliminare il mondo: nessun mondo selezionato"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "File da eliminarsi"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Impossibile creare il mondo: nessun gioco trovato"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Impossibile configurare il mondo: nessun mondo selezionato"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Eliminazione di tutti i file del mondo fallita"
|
||||
|
||||
@@ -385,73 +421,62 @@ msgstr "Eliminazione di tutti i file del mondo fallita"
|
||||
msgid "Old Password"
|
||||
msgstr "Vecchia password"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nuova password"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Conferma password"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Modifica"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Le password non corrispondono!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Continua"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Cambia password"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Torna al menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Torna al S.O."
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
msgstr ""
|
||||
"Tasti:\n"
|
||||
"- WASD: cammina\n"
|
||||
"- Click sinistro: scava blocchi/colpisci\n"
|
||||
"- Click destro: piazza blocchi/usa\n"
|
||||
"- Rotellina: seleziona oggetto\n"
|
||||
"- 0-9: seleziona oggetto\n"
|
||||
"- Shift: abbassati\n"
|
||||
"- R: (Dis)attiva mostra tutti i blocchi caricati\n"
|
||||
"- I: inventario\n"
|
||||
"- ESC: questo menu\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -747,37 +772,54 @@ msgstr ""
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principale"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Fallimento nell'inizializzare il mondo"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Nessun mondo selezionato e nessun indirizzo fornito. Niente da fare."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Impossibile trovare o caricare il gioco \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Specifiche di gioco non valide."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Errore connessione (tempo scaduto?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Controlla debug.txt per i dettagli."
|
||||
|
||||
#~ msgid "Delete map"
|
||||
#~ msgstr "Cancella mappa"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Tasti:\n"
|
||||
#~ "- WASD: cammina\n"
|
||||
#~ "- Click sinistro: scava blocchi/colpisci\n"
|
||||
#~ "- Click destro: piazza blocchi/usa\n"
|
||||
#~ "- Rotellina: seleziona oggetto\n"
|
||||
#~ "- 0-9: seleziona oggetto\n"
|
||||
#~ "- Shift: abbassati\n"
|
||||
#~ "- R: (Dis)attiva mostra tutti i blocchi caricati\n"
|
||||
#~ "- I: inventario\n"
|
||||
#~ "- ESC: questo menu\n"
|
||||
#~ "- T: chat\n"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-03-07 23:06+0200\n"
|
||||
"Last-Translator: Mitori Itoshiki <mito551@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -18,7 +18,41 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +60,7 @@ msgstr ""
|
||||
"警告: マインテストの改造がいくつか設定されていません。\n"
|
||||
"これらを設定を保存すると自動で有効化されます。 "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +72,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "有効にしました"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "全部を有効にしました"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "全部を無効にしました"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "この改造ファイルが必要です:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "この改造に必要されます:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "保存"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "設定を保存しました. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "注意:設定が一定でわありません。"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "はい"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "いいえ"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "ワールド名"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "ゲーム"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "作成"
|
||||
|
||||
@@ -103,96 +137,96 @@ msgstr "リスポーン"
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "左クリックは全部のアイテムを動かす,右クリックは一つのアイテムを動かす"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "続く"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "キーバインド"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "「使う」は下りる"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "「ジャンプ」を二回押すと飛べる"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "既に使われているキーです"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "キー入力待ち"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "前進"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "後退"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "左へ進む"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "右へ進む"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "使う"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "ジャンプ"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "こっそり進む"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "落とす"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "インベントリ"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "チャット"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "コマンド"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "コンソール"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "飛べるモードをトグル"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "ファストモードをトグル"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "ノクリップモードをトグル"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "範囲選択"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "スタックの表示"
|
||||
|
||||
@@ -200,182 +234,182 @@ msgstr "スタックの表示"
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "ワールドを作成できません: 名前に無効な文字が含まれています"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "ワールドを作成できません: 同名のワールドが既に存在しています"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "シングルプレイヤー"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "マルチプレイヤー"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "高度"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "クレジット"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "ワールド選択:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "削除"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "新規作成"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "選択した世界に入る"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "クリエイティブモード"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "ダメージ有効"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "名前/パスワード"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
#, fuzzy
|
||||
msgid "Favorites:"
|
||||
msgstr "お気に入りを見せる"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "アドレス/ポート"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "公共を見せる"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "お気に入りを見せる"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "接続"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "アドレスを入力しないかぎりロカルサーバーを開始。"
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "ゲーム開始 / 接続"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#, fuzzy
|
||||
msgid "Public"
|
||||
msgstr "公共を見せる"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "ワールド削除"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "ワールド作成"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "きれいな木"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
#, fuzzy
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "自然な光表現"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3Dの雲"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "不透明な水面"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "ミップマップ"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "異方性フィルタリング"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "バイリニアフィルタリング"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "トリリニアフィルタリング"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "シェーダー"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "アイテム外観のプリロード"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "破片表現の有効化"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "キー割当て変更"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "アドレスが必要です."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "ワールドを削除できません: 何も選択されていません"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "削除されるファイル"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "ワールドを作成できません: ゲームが見つかりませんでした"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "ワールドの設定ができません: 何も選択されていません"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "ワールドファイルの全ての削除に失敗"
|
||||
|
||||
@@ -383,62 +417,62 @@ msgstr "ワールドファイルの全ての削除に失敗"
|
||||
msgid "Old Password"
|
||||
msgstr "古いパスワード"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "新しいパスワード"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "パスワードの確認"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "変更"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "新しいパスワードが一致しません!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "続ける"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "パスワードの変更"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "メニューへ戻る"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "終了"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -770,32 +804,26 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "ズーム"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "メインメニュー"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "ワールドの初期化に失敗"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "ゲームをロードか見つかるのに失敗"
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "接続エラー (タイムアウトか?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,13 +17,47 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -33,56 +67,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
@@ -98,96 +132,96 @@ msgstr ""
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr ""
|
||||
|
||||
@@ -195,179 +229,179 @@ msgstr ""
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr ""
|
||||
|
||||
@@ -375,62 +409,62 @@ msgstr ""
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -726,32 +760,26 @@ msgstr ""
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
260
po/minetest.pot
260
po/minetest.pot
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,13 +17,47 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -33,56 +67,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
@@ -98,96 +132,96 @@ msgstr ""
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr ""
|
||||
|
||||
@@ -195,179 +229,179 @@ msgstr ""
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr ""
|
||||
|
||||
@@ -375,62 +409,62 @@ msgstr ""
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -726,32 +760,26 @@ msgstr ""
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
790
po/nb/minetest.po
Normal file
790
po/nb/minetest.po
Normal file
@@ -0,0 +1,790 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-02 08:17+0200\n"
|
||||
"Last-Translator: Sindre Tellevik <graknol@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: nb\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Advarsel: Noen modifikasjoner er ikke konfigurert enda. \n"
|
||||
"De vil bli aktivert som standard når du lagrer konfigurasjonen."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
"Advarsel: Noen konfigurerte modifikasjoner mangler. \n"
|
||||
"Instillingene deres vil bli fjernet når du lagrer konfigurasjonen."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr "aktivert"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Aktiver Alle"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Deaktiver Alle"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "Avhenger av:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "trengs av:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Lagre"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Konfigurasjon lagret.…"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Nei"
|
||||
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Navnet på verdenen"
|
||||
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Spill"
|
||||
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Opprett"
|
||||
|
||||
#: src/guiDeathScreen.cpp:96
|
||||
msgid "You died."
|
||||
msgstr "Du døde."
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Return"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Tab"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "X Button 2"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Capital"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Kana"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Shift"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Convert"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Escape"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Final"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Junja"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Kanji"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Nonconvert"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "End"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Mode Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Prior"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Space"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Execute"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:232
|
||||
msgid "Left Windows"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Apps"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 0"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Right Windows"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Sleep"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 2"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 3"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 6"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 7"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad *"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad +"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad -"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad /"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 8"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 9"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Num Lock"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Scroll Lock"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Left Shift"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Right Shift"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Comma"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Minus"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Period"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Plus"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "Attn"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "CrSel"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Erase OEF"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "ExSel"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "OEM Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "PA1"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr ""
|
||||
819
po/nl/minetest.po
Normal file
819
po/nl/minetest.po
Normal file
@@ -0,0 +1,819 @@
|
||||
# SOME DESCRIPTIVE TITLE. DUTCH TRANSLATION
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-01 22:18+0200\n"
|
||||
"Last-Translator: Sfan5 . <sfan5@live.de>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Let op: Nog niet alle mods zijn geconfigueerd. \n"
|
||||
"De mods zullen automatisch worden ingeschakeld als je de configuratie "
|
||||
"bewaard. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
"LEt op: Sommige ingestelde mods zijn vermist.\n"
|
||||
"Hun instellingen worden verwijderd als je de configuratie opslaat. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr "ingeschakeld"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Allen inschakelen"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Allen uitschakelen"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "heeft nodig:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "is benodigd voor:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleer"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Bewaar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Instellingen bewaard. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Waarschuwing: Instellingen niet consistent. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Nee"
|
||||
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Naam wereld"
|
||||
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Spel"
|
||||
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Maak aan"
|
||||
|
||||
#: src/guiDeathScreen.cpp:96
|
||||
msgid "You died."
|
||||
msgstr "Je bent gestorven."
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr "Respawn"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
"Linkermuisknop: Verplaats alle items. Rechtermuisknop: Verplaats één item"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "Sneltoetsen."
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Use\" = Omlaag klimmen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Dubbelklik op \"jump\" om te vliegen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Toets is al in gebruik"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "druk op"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Vooruit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Achteruit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Links"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Rechts"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Gebruikwn"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Springen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Kruipen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Weggooien"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Rugzak"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Chat"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Opdracht"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Console"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Vliegen aan/uit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Snel bewegen aan/uit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Noclip aan/uit"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Range instellen"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Print stacks"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Kan geen nieuwe wereld aanmaken: de naam bevat onjuiste tekens"
|
||||
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Kan geen nieuwe wereld aanmaken: De naam bestaat al"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Singleplayer"
|
||||
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Multiplayer"
|
||||
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Geavanceerd"
|
||||
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Credits"
|
||||
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Selecteer Wereld:"
|
||||
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Nieuw"
|
||||
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Speel"
|
||||
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Creative Modus"
|
||||
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Schade inschakelen"
|
||||
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Naam/Wachtwoord"
|
||||
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Favourieten:"
|
||||
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Publieke Server lijst:"
|
||||
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "IP-Adres/Poort"
|
||||
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Publieke server"
|
||||
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Favourieten"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Laat het adres leeg om een lokale server te starten."
|
||||
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Start het spel / Verbind"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Publiek"
|
||||
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Verwijder wereld"
|
||||
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Maak wereld aan"
|
||||
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Mooie bomen"
|
||||
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Mooie verlichting"
|
||||
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D wolken"
|
||||
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Doorzichtig water"
|
||||
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Bi-Linear Filtering"
|
||||
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Bi-Linear Filtering"
|
||||
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Tri-Linear Filtering"
|
||||
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shaders"
|
||||
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Preload item visuals"
|
||||
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Enable Particles"
|
||||
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Finite liquid"
|
||||
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Sneltoetsen veranderen"
|
||||
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "IP-adres nodig."
|
||||
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Kan niets verwijderen: Geen wereld geselecteerd"
|
||||
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Deze bestanden worden verwijderd"
|
||||
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Kan geen wereld aanmaken: Geen games gevonden"
|
||||
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Kan instellingen niet aanpassen: Niets geselecteerd"
|
||||
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Niet alle bestanden zijn verwijderd"
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr "Huidig wachtwoord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nieuw wachtwoord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Herhaal wachtwoord"
|
||||
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Veranderen"
|
||||
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Wachtwoorden zijn niet gelijk!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Verander wachtwoord"
|
||||
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Volume"
|
||||
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Exit naar menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Volume: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Exit"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr "Linkermuisknop"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr "Muiswielknop"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr "Rechtmuisknop"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
msgstr "X knop 1"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Back"
|
||||
msgstr "Terug"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Return"
|
||||
msgstr "Return"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Tab"
|
||||
msgstr "Tab"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "X Button 2"
|
||||
msgstr "X knop 2"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Capital"
|
||||
msgstr "Kapitaal"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Kana"
|
||||
msgstr "Kana"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Pause"
|
||||
msgstr "Pauze"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Shift"
|
||||
msgstr "Shift"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Convert"
|
||||
msgstr "Converteren"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Escape"
|
||||
msgstr "Escape"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Final"
|
||||
msgstr "Final"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Junja"
|
||||
msgstr "Junja"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Kanji"
|
||||
msgstr "Kanji"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Nonconvert"
|
||||
msgstr "Nonconvert"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Accept"
|
||||
msgstr "Accepteren"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "End"
|
||||
msgstr "End"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Mode Change"
|
||||
msgstr "Modus veranderen"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Next"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Prior"
|
||||
msgstr "Eerste"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Space"
|
||||
msgstr "Spatie"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Down"
|
||||
msgstr "Omlaag"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Execute"
|
||||
msgstr "Uitvoeren"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
msgstr "Print"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Select"
|
||||
msgstr "Selecteren"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Up"
|
||||
msgstr "Omhoog"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
msgstr "Insert"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
msgstr "Screenshot"
|
||||
|
||||
#: src/keycode.cpp:232
|
||||
msgid "Left Windows"
|
||||
msgstr "Linker Windowstoets"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Apps"
|
||||
msgstr "Apps"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 0"
|
||||
msgstr "Numpad 0"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 1"
|
||||
msgstr "Numpad 1"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Right Windows"
|
||||
msgstr "Rechter Windowstoets"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Sleep"
|
||||
msgstr "Slaapknop"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 2"
|
||||
msgstr "Numpad 2"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 3"
|
||||
msgstr "Numpad 3"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 4"
|
||||
msgstr "Numpad 4"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 5"
|
||||
msgstr "Numpad 5"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 6"
|
||||
msgstr "Numpad 6"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 7"
|
||||
msgstr "Numpad 7"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad *"
|
||||
msgstr "Numpad *"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad +"
|
||||
msgstr "Numpad +"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad -"
|
||||
msgstr "Numpad -"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad /"
|
||||
msgstr "Numpad /"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 8"
|
||||
msgstr "Numpad 8"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 9"
|
||||
msgstr "Numpad 9"
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Num Lock"
|
||||
msgstr "Num Lock"
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Scroll Lock"
|
||||
msgstr "Scroll Lock"
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Left Shift"
|
||||
msgstr "Linker Shift"
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Right Shift"
|
||||
msgstr "Rechter Shift"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Control"
|
||||
msgstr "Linker Ctrl"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Menu"
|
||||
msgstr "Linker Menu"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Control"
|
||||
msgstr "Rechter Ctrl"
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Menu"
|
||||
msgstr "Rechter Menu"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Comma"
|
||||
msgstr "Komma"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Minus"
|
||||
msgstr "Min"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Period"
|
||||
msgstr "Punt"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Plus"
|
||||
msgstr "Plus"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "Attn"
|
||||
msgstr "Attn"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "CrSel"
|
||||
msgstr "CrSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Erase OEF"
|
||||
msgstr "Erase OEF"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "ExSel"
|
||||
msgstr "ExSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "OEM Clear"
|
||||
msgstr "OEM Clear"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "PA1"
|
||||
msgstr "PA1"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Laden van wereld is mislukt"
|
||||
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Geen wereld en adres geselecteerd. Niks te doen."
|
||||
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Kan niet de game laden of vinden \""
|
||||
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Onjuiste gamespec."
|
||||
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Connection error (timed out?)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Default Besturing:\n"
|
||||
#~ "- WASD: Lopen\n"
|
||||
#~ "- Linkermuisknop: Graaf/Sla\n"
|
||||
#~ "- Rechtmuisknop: Plaats/Gebruik\n"
|
||||
#~ "- Muiswiel: selecteer item\n"
|
||||
#~ "- 0...9: selecteer item\n"
|
||||
#~ "- Shift: kruipen\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Rugzak\n"
|
||||
#~ "- ESC: Menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
@@ -7,10 +7,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-04-03 16:42+0200\n"
|
||||
"Last-Translator: Dêivan Ortiz Munhoz <deivan@novoseusadosinformatica.com.br>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-04-21 23:38+0200\n"
|
||||
"Last-Translator: Daniel \"Tracerneo\" Ziółkowski <ziolkoneo@gmail.com>\n"
|
||||
"Language-Team: Polish <>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -19,15 +19,51 @@ msgstr ""
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Sprawdź plik debug.txt by uzyskać więcej informacji."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Ostrzeżenie: Niektóre z modyfikacji nie zostały jeszcze skonfigurowane.\n"
|
||||
"Uwaga: Niektóre z modyfikacji nie zostały jeszcze skonfigurowane.\n"
|
||||
"Zostaną domyślnie włączone gdy zapiszesz konfigurację. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -39,56 +75,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "włączone"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Włącz wszystkie"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Wyłącz wszystkie"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "zależne od:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "wymagane przez:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Zapisz"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Konfiguracja zapisana. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Ostrzeżenie: Plik konfiguracyjny niespójny. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Tak"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Nie"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Nazwa świata"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Gra"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Utwórz"
|
||||
|
||||
@@ -103,369 +139,358 @@ msgstr "Wróć do gry"
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
"Lewy klik: Przenieś wszystkie przedmioty, Prawy klik: przenieś pojedynczy "
|
||||
"przedmiot"
|
||||
"Lewy przycisk myszy: przenieś wszystkie przedmioty, Prawy przycisk myszy: "
|
||||
"przenieś pojedynczy przedmiot"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Kontynuuj"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Zdefiniowane klawisze. (Jeżeli to menu nie działa, usuń skonfigurowane "
|
||||
"klawisze z pliku minetest.conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Użyj\" = wspinaj się"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Wciśnij dwukrotnie \"Skok\" by włączyć tryb latania"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Klawisz już zdefiniowany"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "naciśnij klawisz"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Do przodu"
|
||||
msgstr "Przód"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Do tyłu"
|
||||
msgstr "Tył"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Lewo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Prawo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Użyj"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Skok"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Skradanie"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Upuść"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inwentarz"
|
||||
msgstr "Ekwipunek"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Czat"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Komenda"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Konsola"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Przełącz tryb latania"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Przełącz tryb szybki"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Przełącz tryb noclip"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Zasięg widzenia"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "stosy Drukuj"
|
||||
msgstr "Drukuj stosy"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Nie można stworzyć świata: nazwa zawiera niedozwolone znaki"
|
||||
msgstr "Nie można stworzyć świata: Nazwa zawiera niedozwolone znaki"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Nie można stworzyć świata: Istnieje już świat o takiej nazwie"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Pojedynczy gracz"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Gra wieloosobowa"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Zaawansowane"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Autorzy"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Wybierz świat:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Skasuj"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Nowy"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Ustaw"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Graj"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Tryb kreatywny"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Włącz obrażenia"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nazwa gracza/Hasło"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Ulubione:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Lista publicznych serwerów:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Adres/Port"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Pokaż publiczne"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Pokaż ulubione"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Połącz"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Nie wpisuj adresu by uruchomić lokalny serwer."
|
||||
msgstr "Pozostaw pole adresu puste, by uruchomić serwer lokalny."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Rozpocznij grę/Połącz"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Publiczne"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Skasuj świat"
|
||||
msgstr "Usuń świat"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Stwórz świat"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Ozdobne drzewa"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Płynne oświetlenie"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "Chmury 3D"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Nieprzeźroczysta woda"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mappowanie"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Filtrowanie anizotropowe"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Dwuliniowe filtrowanie"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Trójliniowe filtrowanie"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Shadery"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Ładuj obrazy przedmiotów"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Włącz cząstki"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Realistyczne ciecze"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Zmień klawisze"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Wymagany adres."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Nie można skasować świata: nic nie zaznaczono"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Pliki do skasowania"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Nie można utworzyć świata: Nie znaleziono żadnego trybu gry"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Nie można skonfigurować świata: Nic nie zaznaczono"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Nie można skasować wszystkich plików świata"
|
||||
msgstr "Nie udało się skasować wszystkich plików świata"
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr "Stare hasło"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nowe hasło"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Potwierdź hasło"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Zmień"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Hasła nie są jednakowe!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Dalej"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Zmień hasło"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Głośność"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Wyjdź do menu"
|
||||
msgstr "Wyjście do menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Wyjście z gry"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Domyślne ustawienia:\n"
|
||||
"- WASD: poruszanie\n"
|
||||
"- Lewy przycisk myszki: kop/uderz\n"
|
||||
"- Prawy przycisk myszki: połóż/użyj\n"
|
||||
"- Kółko myszki: wybieranie przedmiotu\n"
|
||||
"- 0...9: wybieranie przedmiotu\n"
|
||||
"- Shift: skradanie\n"
|
||||
"- R: przełączanie trybu widoczności\n"
|
||||
"- I: menu posiadanych przedmiotów\n"
|
||||
"- ESC: to menu\n"
|
||||
"- T: Czat\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Głośność: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Wyjście"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr "Lewy przycisk myszki"
|
||||
msgstr "Lewy przycisk myszy"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr "Środkowy przycisk myszki"
|
||||
msgstr "Środkowy przycisk myszy"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr "Prawy przycisk myszki"
|
||||
msgstr "Prawy przycisk myszy"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
@@ -589,7 +614,7 @@ msgstr "Góra"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
@@ -747,34 +772,51 @@ msgstr "PA1"
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu główne"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Inicjalizacja świata nie powiodła się"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Nie wybrano świata ani adresu."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Nie można znaleźć lub wczytać trybu gry \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Nieprawidłowa specyfikacja trybu gry."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Błąd połączenia (brak odpowiedzi?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Sprawdź plik debug.txt by uzyskać więcej informacji."
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Domyślne ustawienia:\n"
|
||||
#~ "- WASD: poruszanie\n"
|
||||
#~ "- Lewy przycisk myszki: kop/uderz\n"
|
||||
#~ "- Prawy przycisk myszki: połóż/użyj\n"
|
||||
#~ "- Kółko myszy: wybieranie przedmiotu\n"
|
||||
#~ "- 0...9: wybieranie przedmiotu\n"
|
||||
#~ "- Shift: skradanie\n"
|
||||
#~ "- R: przełączanie trybu widoczności\n"
|
||||
#~ "- I: menu ekwipunku\n"
|
||||
#~ "- ESC: to menu\n"
|
||||
#~ "- T: czat\n"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-04-03 16:35+0200\n"
|
||||
"Last-Translator: Dêivan Ortiz Munhoz <deivan@novoseusadosinformatica.com.br>\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-30 00:13+0200\n"
|
||||
"Last-Translator: v c <vicente.camolas@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -18,437 +18,473 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr "Texturas dos items..."
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr "A carregar..."
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr "A criar servidor..."
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr "A criar cliente..."
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr "A resolver endereço..."
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr "A conectar ao servidor..."
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr "A desligar..."
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Consulte debug.txt para mais detalhes."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Alerta: Alguns mods ainda não estão configurados.\n"
|
||||
"Eles vão ser ativos por predefinição quando guardar a configuração. "
|
||||
"Atenção: Alguns mods ainda não estão configurados.\n"
|
||||
"Eles vão ser ativados por predefinição quando guardar a configuração. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
"Alerta: Alguns mods configurados estão em falta.\n"
|
||||
"As definições vão ser removidas quando gravar a configuração. "
|
||||
"Atenção: Alguns mods configurados estão em falta.\n"
|
||||
"As suas definições vão ser removidas quando gravar a configuração. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr "ativo"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Ativar Tudo"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Desativar Tudo"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "depende de:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "é necessário pelo:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Configuração gravada. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Alerta: Configuração não compativel. "
|
||||
msgstr "Atenção: Configuração não compatível. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Não"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Nome do Mundo"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Jogo"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Criar"
|
||||
|
||||
#: src/guiDeathScreen.cpp:96
|
||||
msgid "You died."
|
||||
msgstr "Estás morto."
|
||||
msgstr "Morreste."
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr "Renascer"
|
||||
msgstr "Reaparecer"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "Botão esq.: Mover todos os items, Botão dir.: Mover um item"
|
||||
msgstr "Botão esq: Mover todos os itens Botão dir: Mover um item"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "Teclas. (Se este menu estragar-se, remova as linhas do minetest.conf)"
|
||||
msgstr "Teclas. (Se este menu se estragar, remova as linhas do minetest.conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Use\" = ir para baixo"
|
||||
msgstr "\"Use\" = descer"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Duas vezes \"saltar\" para ativar vôo"
|
||||
msgstr "Carregue duas vezes em \"saltar\" para ativar o vôo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Tecla já em uso"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
msgid "press key"
|
||||
msgstr "pressione tecla"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "pressione a tecla"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Avançar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Para trás"
|
||||
msgstr "Recuar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Esquerda"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Direita"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Usar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Saltar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Agachar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Dropar"
|
||||
msgstr "Largar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inventário"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "CHAT"
|
||||
msgstr "Conversa"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Comando"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Consola"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Ativar vôo"
|
||||
msgstr "Ativar/Desativar vôo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Ativar correr"
|
||||
msgstr "Ativar/Desativar correr"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Ativar noclip"
|
||||
msgstr "Ativar/Desativar noclip"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Seleccionar Distância"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Imprimir stacks"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Não foi possível criar mundo: Nome com carácteres inválidos"
|
||||
msgstr "Não foi possível criar mundo: Nome com caracteres inválidos"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Não foi possivel criar mundo: Mundo com este nome já existente"
|
||||
msgstr "Não foi possível criar mundo: Já existe um mundo com este nome"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Um Jogador"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Multijogador"
|
||||
msgstr "Vários jogadores"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Avançado"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Definições"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Créditos"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Seleccionar Mundo:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Novo"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Jogar"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Modo Criativo"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Ativar Dano"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nome/Senha"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Favoritos:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Lista de servidor públicos:"
|
||||
msgstr "Lista de servidores públicos:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Endereço/Porta"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Mostrar Públicos"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Mostrar Favoritos"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Ligar"
|
||||
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Deixe endereço em branco para iniciar servidor local."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Iniciar Jogo / Conectar"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Público"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Eliminar mundo"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Criar mundo"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Árvores Melhoradas"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Iluminação Suave"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "Nuvens 3D"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Água Opaca"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Filtro Anisotropico"
|
||||
msgstr "Filtro Anisotrópico"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Filtro Bi-Linear"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Filtro Tri-Linear"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Sombras"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Precarregamento dos items"
|
||||
msgstr "Pré-carregamento dos itens"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Ativar Particulas"
|
||||
msgstr "Ativar Partículas"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Líquido finito"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Mudar teclas"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Endereço necessário."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Não foi possível eliminar mundo: Nada seleccionado"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Ficheiros para eliminar"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Não foi possivel criar mundo: Jogos não detectados"
|
||||
msgstr "Não foi possível criar mundo: Não foram detectados jogos"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Não foi possivel configurar mundo: Nada seleccionado"
|
||||
msgstr "Não foi possível configurar mundo: Nada seleccionado"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Remoção dos ficheiros dos mundos falhada"
|
||||
msgstr "Falhou a remoção de todos os ficheiros dos mundos"
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr "Senha antiga"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Senha Nova"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Confirmar Senha"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Mudar"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Senhas não correspondem!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Mudar Senha"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Volume do som"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Sair para Menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
msgid "Exit to OS"
|
||||
msgstr "Sair para SO"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Sair para o sistema"
|
||||
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Controlos Normais:\n"
|
||||
"- WASD: Andar\n"
|
||||
"- Botão esq.: partir/atacar\n"
|
||||
"- Botão dir.: colocar/usar\n"
|
||||
"- Roda do Rato: seleccionar item\n"
|
||||
"- 0...9: seleccionar item\n"
|
||||
"- Shift: agachar\n"
|
||||
"- R: Mudar visualização de todos os chunks\n"
|
||||
"Teclas por defeito:\n"
|
||||
"- WASD: mover\n"
|
||||
"- Barra de espaço: saltar/subir\n"
|
||||
"- Shift: andar cuidadosamente/descer\n"
|
||||
"- Q: Largar item\n"
|
||||
"- I: Inventário\n"
|
||||
"- ESC: Este menu\n"
|
||||
"- T: Chat\n"
|
||||
"- Rato: virar/olhar\n"
|
||||
"- Clique esquerdo: cavar/bater\n"
|
||||
"- Clique direito: colocar/utilizar\n"
|
||||
"- Roda do rato: seleccionar item\n"
|
||||
"- T: conversação\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Volume do som: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Saida"
|
||||
msgstr "Sair"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
@@ -508,7 +544,7 @@ msgstr "Pausa"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Shift"
|
||||
msgstr "SHIFT"
|
||||
msgstr "Shift"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Convert"
|
||||
@@ -540,15 +576,15 @@ msgstr "Aceitar"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "End"
|
||||
msgstr "END"
|
||||
msgstr "End"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Home"
|
||||
msgstr "HOME"
|
||||
msgstr "Home"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Mode Change"
|
||||
msgstr "MODE Change"
|
||||
msgstr "Mode Change"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Next"
|
||||
@@ -572,7 +608,7 @@ msgstr "Executar"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
msgstr "PRINT"
|
||||
msgstr "Print"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Select"
|
||||
@@ -588,7 +624,7 @@ msgstr "Ajuda"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
msgstr "INSERT"
|
||||
msgstr "Insert"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
@@ -742,35 +778,52 @@ msgstr "PAL"
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu Principal"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Falha ao iniciar mundo"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
"Nenhum mundo seleccionado e nenhum endereço providenciado. Nada para fazer."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Não foi possível encontrar ou carregar jogo \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "gamespec inválido."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Erro de conexão (excedeu tempo?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Verifique debug.txt para mais detalhes."
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Controlos Normais:\n"
|
||||
#~ "- WASD: Andar\n"
|
||||
#~ "- Botão esq.: partir/atacar\n"
|
||||
#~ "- Botão dir.: colocar/usar\n"
|
||||
#~ "- Roda do Rato: seleccionar item\n"
|
||||
#~ "- 0...9: seleccionar item\n"
|
||||
#~ "- Shift: agachar\n"
|
||||
#~ "- R: Mudar visualização de todos os chunks\n"
|
||||
#~ "- I: Inventário\n"
|
||||
#~ "- ESC: Este menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
|
||||
831
po/pt_BR/minetest.po
Normal file
831
po/pt_BR/minetest.po
Normal file
@@ -0,0 +1,831 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-15 18:58+0200\n"
|
||||
"Last-Translator: Frederico Guimarães <frederico@teia.bio.br>\n"
|
||||
"Language-Team: LANGUAGE <contato@ejweb.com.br>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr "Texturas dos itens..."
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr "Carregando..."
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr "Criando o servidor..."
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr "Criando o cliente..."
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr "Resolvendo os endereços..."
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr "Conectando ao servidor..."
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr "Desligando tudo..."
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Verifique o debug.txt para mais detalhes."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Atenção: Alguns mods ainda não foram configurados.\n"
|
||||
"E eles serão ativados por padrão, quando você salvar a configuração."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
"Atenção: Alguns mods configurados não foram encontrados.\n"
|
||||
"Suas definições serão removidas quando você salvar a configuração."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr "habilitado"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Habilitar tudo"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Desabilitar tudo"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "depende de:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "é necessário para:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Salvar"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "A configuração foi salva. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Atenção: A configuração não está consistente."
|
||||
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Não"
|
||||
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Nome do mundo"
|
||||
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Jogo"
|
||||
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Criar"
|
||||
|
||||
#: src/guiDeathScreen.cpp:96
|
||||
msgid "You died."
|
||||
msgstr "Você morreu."
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr "Reviver"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "Botão esq.: Move todos os itens, Botão dir.: Move um item"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Teclas. (Se este menu estiver com problema, remova itens do minetest.conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Usar\" = desce"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Aperte duas vezes \"saltar\" para ativar o voo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Essa tecla já está em uso"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "pressione uma tecla"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Avançar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Voltar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Esquerda"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Direita"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Usar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Saltar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Esgueirar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Soltar"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Inventário"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Bate-papo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Comando"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Console"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Alternar voo"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Alternar corrida"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Alternar mov.livre"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Selecionar distância"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "Imprimir pilha (log)"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Não foi possível criar o mundo: O nome contém caracteres inválidos"
|
||||
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Não foi possivel criar o mundo: Já existe um mundo com esse nome"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Um jogador"
|
||||
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Vários jogadores"
|
||||
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Avançado"
|
||||
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Créditos"
|
||||
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Selecione um mundo:"
|
||||
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Novo"
|
||||
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Jogar"
|
||||
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Modo criativo"
|
||||
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Habilitar dano"
|
||||
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Nome/Senha"
|
||||
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Favoritos:"
|
||||
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr "Lista de servidores públicos:"
|
||||
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Endereço/Porta"
|
||||
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Exibir públicos"
|
||||
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Exibir favoritos"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Deixe o endereço em branco para iniciar um servidor local."
|
||||
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Iniciar o jogo/Conectar"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Público"
|
||||
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Excluir o mundo"
|
||||
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Criar o mundo"
|
||||
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Árvores mais detalhadas"
|
||||
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Iluminação suave"
|
||||
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "Nuvens 3D"
|
||||
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Água opaca"
|
||||
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-Mapping"
|
||||
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Filtragem anisotrópica"
|
||||
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Filtragem bi-linear"
|
||||
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Filtragem tri-linear"
|
||||
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Sombreadores"
|
||||
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Precarga dos elementos visuais"
|
||||
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Habilitar partículas"
|
||||
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr "Líquido finito"
|
||||
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Mudar teclas"
|
||||
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "É necessário um endereço."
|
||||
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Não foi possível excluir o mundo: Nenhum foi selecionado"
|
||||
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Arquivos a serem excluídos"
|
||||
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Não foi possivel criar o mundo: Não foi encontrado nenhum jogo"
|
||||
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Não foi possível configurar o mundo: Nada foi selecionado"
|
||||
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Não foi possível excluir todos os arquivos do mundo"
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr "Senha antiga"
|
||||
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Nova senha"
|
||||
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Confirmar a senha"
|
||||
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Alterar"
|
||||
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "As senhas não correspondem!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Alterar a senha"
|
||||
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr "Volume do som"
|
||||
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Sair para o menu"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Sair do Minetest"
|
||||
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Controles padrão:\n"
|
||||
"- WASD: mover\n"
|
||||
"- Espaço: pular/escalar\n"
|
||||
"- Shift: esgueirar/descer\n"
|
||||
"- Q: descartar o item\n"
|
||||
"- I: inventário\n"
|
||||
"- Mouse: virar/olhar\n"
|
||||
"- Botão esq. do mouse: cavar/atingir\n"
|
||||
"- Botão dir. do mouse: colocar/usar\n"
|
||||
"- Roda do mouse: selecionar item\n"
|
||||
"- T: bate-papo\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr "Volume do som: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr "Sair"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr "Botão esquerdo"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr "Roda do mouse"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr "Botão direito"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
msgstr "Botão X 1"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Back"
|
||||
msgstr "Backspace"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Return"
|
||||
msgstr "Enter"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Tab"
|
||||
msgstr "Tab"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "X Button 2"
|
||||
msgstr "Botão X 2"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Capital"
|
||||
msgstr "Caps Lock"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Control"
|
||||
msgstr "Ctrl"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Kana"
|
||||
msgstr "Kana"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Shift"
|
||||
msgstr "Shift"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Convert"
|
||||
msgstr "Convert"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Escape"
|
||||
msgstr "Esc"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Final"
|
||||
msgstr "Final"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Junja"
|
||||
msgstr "Junja"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Kanji"
|
||||
msgstr "Kanji"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Nonconvert"
|
||||
msgstr "Nonconvert"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Accept"
|
||||
msgstr "Aceitar"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "End"
|
||||
msgstr "End"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Mode Change"
|
||||
msgstr "Mode Change"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Next"
|
||||
msgstr "Page Down"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Prior"
|
||||
msgstr "Page Up"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Space"
|
||||
msgstr "Espaço"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Down"
|
||||
msgstr "Abaixo"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Execute"
|
||||
msgstr "Executar"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
msgstr "Print Screen"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Select"
|
||||
msgstr "Select"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Up"
|
||||
msgstr "Acima"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Help"
|
||||
msgstr "Ajuda"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
msgstr "Insert"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
msgstr "Captura de tela"
|
||||
|
||||
#: src/keycode.cpp:232
|
||||
msgid "Left Windows"
|
||||
msgstr "Windows esq."
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Apps"
|
||||
msgstr "Apps"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 0"
|
||||
msgstr "Tecl.num.0"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 1"
|
||||
msgstr "Tecl.num.1"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Right Windows"
|
||||
msgstr "Windows dir."
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Sleep"
|
||||
msgstr "Sleep"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 2"
|
||||
msgstr "Tecl.num.2"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 3"
|
||||
msgstr "Tecl.num.3"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 4"
|
||||
msgstr "Tecl.num.4"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 5"
|
||||
msgstr "Tecl.num.5"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 6"
|
||||
msgstr "Tecl.num.6"
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 7"
|
||||
msgstr "Tecl.num.7"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad *"
|
||||
msgstr "Tecl.num.*"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad +"
|
||||
msgstr "Tecl.num.+"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad -"
|
||||
msgstr "Tecl.num.-"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad /"
|
||||
msgstr "Tecl.num./"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 8"
|
||||
msgstr "Tecl.num.8"
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 9"
|
||||
msgstr "Tecl.num.9"
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Num Lock"
|
||||
msgstr "Num Lock"
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Scroll Lock"
|
||||
msgstr "Scroll Lock"
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Left Shift"
|
||||
msgstr "Shift esq."
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Right Shift"
|
||||
msgstr "Shift dir."
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Control"
|
||||
msgstr "Ctrl esq."
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Menu"
|
||||
msgstr "Menu esq."
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Control"
|
||||
msgstr "Ctrl dir."
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Menu"
|
||||
msgstr "Menu dir."
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Comma"
|
||||
msgstr "Vírgula"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Minus"
|
||||
msgstr "Menos"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Period"
|
||||
msgstr "Ponto"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Plus"
|
||||
msgstr "Mais"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "Attn"
|
||||
msgstr "Attn"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "CrSel"
|
||||
msgstr "CrSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Erase OEF"
|
||||
msgstr "Apagar OEF"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "ExSel"
|
||||
msgstr "ExSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "OEM Clear"
|
||||
msgstr "Limpar OEM"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "PA1"
|
||||
msgstr "PA1"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Zoom"
|
||||
msgstr "Zoom"
|
||||
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Não foi possível iniciar o mundo"
|
||||
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
"Nenhum mundo foi selecionado e nenhum endereço fornecido. Não existe nada a "
|
||||
"ser feito."
|
||||
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Não foi possível localizar ou carregar jogo \""
|
||||
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "Especificação do jogo inválida."
|
||||
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Erro de conexão (tempo excedido?)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Controles padrão:\n"
|
||||
#~ "- WASD: andar\n"
|
||||
#~ "- Botão esquerdo: cavar/golpear\n"
|
||||
#~ "- Botão direito: colocar/usar\n"
|
||||
#~ "- Roda do mouse: selecionar item\n"
|
||||
#~ "- 0...9: selecionar item\n"
|
||||
#~ "- Shift: esgueirar\n"
|
||||
#~ "- R: alternar a distância de visualização\n"
|
||||
#~ "- I: inventário\n"
|
||||
#~ "- ESC: este menu\n"
|
||||
#~ "- T: bate-papo\n"
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,13 +17,47 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -33,56 +67,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
@@ -98,96 +132,96 @@ msgstr ""
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr ""
|
||||
|
||||
@@ -195,179 +229,179 @@ msgstr ""
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr ""
|
||||
|
||||
@@ -375,62 +409,62 @@ msgstr ""
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -726,32 +760,26 @@ msgstr ""
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-03-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-08 11:06+0200\n"
|
||||
"Last-Translator: Anton Tsyganenko <anton-tsyganenko@yandex.ru>\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru\n"
|
||||
@@ -19,15 +19,52 @@ msgstr ""
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Подробная информация в debug.txt."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
"Предупреждение: Некоторые моды еще не настроены.\n"
|
||||
"Они будут включены, когда вы сохраните конфигурацию. "
|
||||
"Их стандартные настройки будут установлены, когда вы сохраните "
|
||||
"конфигурацию. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -39,56 +76,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "включено"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Включить всё"
|
||||
msgstr "Включить Всё"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Отключить всё"
|
||||
msgstr "Отключить Всё"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "зависит от:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "требуется для:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Сохранить"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Настройки сохранены. "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Предупреждение: Неверная конфигурация. "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "Нет"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "Название мира"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "Игра"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "Создать"
|
||||
|
||||
@@ -98,376 +135,362 @@ msgstr "Вы умерли."
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr "Воскреснуть"
|
||||
msgstr "Возродиться"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "ЛКМ: Переместить все предметы, ПКМ: Переместить один предмет"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "Продолжить"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
"Сочетания клавиш. (Если это меню сломалось, удалите настройки из minetest."
|
||||
"conf)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "\"Использовать\" = спускаться"
|
||||
msgstr "\"Использовать\" = вниз"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "Дважды нажмите «прыгнуть», чтобы включить полет"
|
||||
msgstr "Двойной прыжок = летать"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "Клавиша уже используется"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "нажмите клавишу"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Вперед"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Назад"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Влево"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "Вправо"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Использовать"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "Прыжок"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Красться"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Выбросить"
|
||||
msgstr "Бросить"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "Инвентарь"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "Чат"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "Команда"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "Консоль"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "Полёт"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "Ускорение"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "Проходить сквозь стены"
|
||||
msgstr "Включить noclip"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "Выбор зоны видимости"
|
||||
msgstr "Зона видимости"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#, fuzzy
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "напечатать стеки"
|
||||
msgstr "Печать стеков"
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "Невозможно создать мир: Имя содержит недопустимые символы"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "Невозможно создать мир: Мир под таким названием уже существует"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "Одиночная игра"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "Многопользовательская игра"
|
||||
msgstr "Сетевая игра"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "Дополнительно"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "Благодарности"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "Выберите мир:"
|
||||
msgstr "Выберите Мир:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "Новый"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "Настроить"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "Играть"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "Режим создания"
|
||||
msgstr "Режим Создания"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "Включить повреждения"
|
||||
msgstr "Включить урон"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "Имя/Пароль"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#, fuzzy
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "Сохраненные"
|
||||
msgstr "Избранное:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
msgstr "Список Публичных Серверов:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "Адрес/Порт"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "Публичные"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "Сохраненные"
|
||||
msgstr "Избранные"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "Подключиться"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "Оставьте адрес пустым для запуска локального сервера."
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "Начать игру"
|
||||
msgstr "Начать игру/Подключиться"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#, fuzzy
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "Публичные"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "Удалить мир"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "Создать мир"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "Красивые деревья"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "Мягкое освещение"
|
||||
msgstr "Мягкое Освещение"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D облака"
|
||||
msgstr "3D Облака"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "Непрозрачная вода"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "Mip-текстурирование"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "Анизотропный фильтр"
|
||||
msgstr "Анизотропная Фильтрация"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "Билинейный фильтр"
|
||||
msgstr "Билинейная Фильтрация"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "Трилинейный фильтр"
|
||||
msgstr "Трилинейная Фильтрация"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "Шейдеры"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
#, fuzzy
|
||||
msgid "Preload item visuals"
|
||||
msgstr "Кэшировать предметы"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "Включить частицы"
|
||||
msgstr "Включить Частицы"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
msgstr "Конечные жидкости"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "Сменить управление"
|
||||
msgstr "Смена управления"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "Нужно ввести адрес."
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "Не могу удалить мир: Ничего не выбрано"
|
||||
msgstr "Невозможно удалить мир: Ничего не выбрано"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "Следующие файлы будут удалены"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "Не могу создать мир: Ни одной игры не найдено"
|
||||
msgstr "Невозможно создать мир: Ни одной игры не найдено"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "Не могу настроить мир: ничего не выбрано"
|
||||
msgstr "Невозможно настроить мир: ничего не выбрано"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "Ошибка при удалении файлов мира"
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr "Старый пароль"
|
||||
msgstr "Старый Пароль"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "Новый пароль"
|
||||
msgstr "Новый Пароль"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "Подтверждение пароля"
|
||||
msgstr "Подтверждение Пароля"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "Изменить"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "Пароли не совпадают!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "Продолжить"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "Изменить пароль"
|
||||
msgstr "Изменить Пароль"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
msgstr "Громкость Звука"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "Выход в меню"
|
||||
msgstr "Выход в Меню"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "Выход в ОС"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"Управление по умолчанию:\n"
|
||||
"- WASD: перемещение\n"
|
||||
"- ЛКМ: копать/ударить\n"
|
||||
"- ПКМ: поставить/использовать\n"
|
||||
"- Колесо мыши: выбор предмета\n"
|
||||
"- 0...9: выбор предмета\n"
|
||||
"- Shift: красться\n"
|
||||
"- R: переключить видимость всех загруженных чанков\n"
|
||||
"- I: инвентарь\n"
|
||||
"- ESC: это меню\n"
|
||||
"- T: чат\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
msgstr "Громкость Звука: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
msgstr "Выход"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr "Левая клавиша"
|
||||
msgstr "Левая Кнопка"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr "Средняя клавиша"
|
||||
msgstr "Средняя Кнопка"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr "Правая клавиша"
|
||||
msgstr "Правая Кнопка"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
@@ -475,7 +498,7 @@ msgstr "Доп. кнопка 1"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Back"
|
||||
msgstr "назад"
|
||||
msgstr "Назад"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Clear"
|
||||
@@ -486,7 +509,6 @@ msgid "Return"
|
||||
msgstr "Вернуться"
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
#, fuzzy
|
||||
msgid "Tab"
|
||||
msgstr "Tab"
|
||||
|
||||
@@ -508,7 +530,7 @@ msgstr "Кана"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Menu"
|
||||
msgstr "меню"
|
||||
msgstr "Меню"
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Pause"
|
||||
@@ -519,7 +541,6 @@ msgid "Shift"
|
||||
msgstr "Shift"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
#, fuzzy
|
||||
msgid "Convert"
|
||||
msgstr "Преобразовать"
|
||||
|
||||
@@ -528,9 +549,8 @@ msgid "Escape"
|
||||
msgstr "Escape"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
#, fuzzy
|
||||
msgid "Final"
|
||||
msgstr "Final"
|
||||
msgstr "Конец"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
#, fuzzy
|
||||
@@ -543,7 +563,7 @@ msgstr "Кандзи"
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Nonconvert"
|
||||
msgstr ""
|
||||
msgstr "Не преобразовано"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Accept"
|
||||
@@ -558,12 +578,10 @@ msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
#, fuzzy
|
||||
msgid "Mode Change"
|
||||
msgstr "Смена режима"
|
||||
msgstr "Смена Режима"
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
#, fuzzy
|
||||
msgid "Next"
|
||||
msgstr "След."
|
||||
|
||||
@@ -590,7 +608,6 @@ msgid "Print"
|
||||
msgstr "Печать"
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
#, fuzzy
|
||||
msgid "Select"
|
||||
msgstr "Выбор"
|
||||
|
||||
@@ -608,14 +625,13 @@ msgstr "Insert"
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
msgstr "снимок"
|
||||
msgstr "Cнимок"
|
||||
|
||||
#: src/keycode.cpp:232
|
||||
msgid "Left Windows"
|
||||
msgstr "Левая кл. Win"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
#, fuzzy
|
||||
msgid "Apps"
|
||||
msgstr "Приложения"
|
||||
|
||||
@@ -632,7 +648,6 @@ msgid "Right Windows"
|
||||
msgstr "Прав. кл. Win"
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
#, fuzzy
|
||||
msgid "Sleep"
|
||||
msgstr "Сон"
|
||||
|
||||
@@ -725,72 +740,91 @@ msgid "Minus"
|
||||
msgstr "Минус"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
#, fuzzy
|
||||
msgid "Period"
|
||||
msgstr "период"
|
||||
msgstr "Период"
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Plus"
|
||||
msgstr "Плюс"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
#, fuzzy
|
||||
msgid "Attn"
|
||||
msgstr "внимание"
|
||||
msgstr "Внимание"
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
#, fuzzy
|
||||
msgid "CrSel"
|
||||
msgstr ""
|
||||
msgstr "CrSel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
#, fuzzy
|
||||
msgid "Erase OEF"
|
||||
msgstr ""
|
||||
msgstr "Стереть ОНС"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
#, fuzzy
|
||||
msgid "ExSel"
|
||||
msgstr ""
|
||||
msgstr "Exsel"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "OEM Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "PA1"
|
||||
msgstr ""
|
||||
msgstr "Очистить OEM"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
#, fuzzy
|
||||
msgid "PA1"
|
||||
msgstr "PA1"
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Zoom"
|
||||
msgstr "Масштаб"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "Главное меню"
|
||||
msgstr "Главное Меню"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "Ошибка при инициализации мира"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "Не выбран мир и не введен адрес."
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "Невозможно найти или загрузить игру \""
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
#, fuzzy
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
msgstr "Неправильная конфигурация игры."
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "Ошибка соединения (таймаут пинга?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Подробная информация в debug.txt."
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "Управление по умолчанию:\n"
|
||||
#~ "- WASD: перемещение\n"
|
||||
#~ "- ЛКМ: копать/ударить\n"
|
||||
#~ "- ПКМ: поставить/использовать\n"
|
||||
#~ "- Колесо мыши: выбор предмета\n"
|
||||
#~ "- 0...9: выбор предмета\n"
|
||||
#~ "- Shift: красться\n"
|
||||
#~ "- R: смотреть далеко\n"
|
||||
#~ "- I: инвентарь\n"
|
||||
#~ "- ESC: это меню\n"
|
||||
#~ "- T: чат\n"
|
||||
|
||||
787
po/uk/minetest.po
Normal file
787
po/uk/minetest.po
Normal file
@@ -0,0 +1,787 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-04-23 17:00+0200\n"
|
||||
"Last-Translator: ?????? ???????? <Martin_Devil@mail.ru>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: uk\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"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr ""
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr "\nДеталі у файлі debug.txt."
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:208
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "Увімкнути Все"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "Вимкнути Усе"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "залежить від:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "Зберегти"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "Налаштування Збережено!"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "Попередження: Помилкова конфігурація."
|
||||
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiDeathScreen.cpp:96
|
||||
msgid "You died."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiDeathScreen.cpp:104
|
||||
msgid "Respawn"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:582
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "Уперед"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "Назад"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "Уліво"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "Використовувата"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "Крастися"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "Викинути"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:92
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:108
|
||||
msgid "Old Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Middle Button"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Right Button"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "X Button 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Return"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "Tab"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:224
|
||||
msgid "X Button 2"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Capital"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Kana"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:225
|
||||
msgid "Shift"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Convert"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Escape"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Final"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Junja"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Kanji"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:226
|
||||
msgid "Nonconvert"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "End"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Mode Change"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Prior"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:227
|
||||
msgid "Space"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Execute"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:228
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Insert"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:229
|
||||
msgid "Snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:232
|
||||
msgid "Left Windows"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Apps"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 0"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Numpad 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Right Windows"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:233
|
||||
msgid "Sleep"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 2"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 3"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 6"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:234
|
||||
msgid "Numpad 7"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad *"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad +"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad -"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad /"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 8"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:235
|
||||
msgid "Numpad 9"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Num Lock"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:239
|
||||
msgid "Scroll Lock"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Left Shift"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:240
|
||||
msgid "Right Shift"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Left Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Control"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:241
|
||||
msgid "Right Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Comma"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Minus"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Period"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:243
|
||||
msgid "Plus"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "Attn"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:247
|
||||
msgid "CrSel"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Erase OEF"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "ExSel"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "OEM Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "PA1"
|
||||
msgstr ""
|
||||
|
||||
#: src/keycode.cpp:248
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr ""
|
||||
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr ""
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: minetest\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-03-30 19:56+0100\n"
|
||||
"PO-Revision-Date: 2013-03-09 09:41+0200\n"
|
||||
"POT-Creation-Date: 2013-05-13 18:26+0200\n"
|
||||
"PO-Revision-Date: 2013-05-18 16:23+0200\n"
|
||||
"Last-Translator: Shen Zheyu <arsdragonfly@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -18,7 +18,43 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 1.4-dev\n"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:125
|
||||
#: src/client.cpp:2846
|
||||
msgid "Item textures..."
|
||||
msgstr "物品材质..."
|
||||
|
||||
#: src/game.cpp:912
|
||||
msgid "Loading..."
|
||||
msgstr "载入中..."
|
||||
|
||||
#: src/game.cpp:972
|
||||
msgid "Creating server...."
|
||||
msgstr "正在建立服务器...."
|
||||
|
||||
#: src/game.cpp:988
|
||||
msgid "Creating client..."
|
||||
msgstr "正在建立客户端..."
|
||||
|
||||
#: src/game.cpp:1003
|
||||
msgid "Resolving address..."
|
||||
msgstr "正在解析地址..."
|
||||
|
||||
#: src/game.cpp:1079
|
||||
msgid "Connecting to server..."
|
||||
msgstr "正在连接服务器..."
|
||||
|
||||
#: src/game.cpp:3348
|
||||
msgid "Shutting down stuff..."
|
||||
msgstr "关闭中......"
|
||||
|
||||
#: src/game.cpp:3378 src/guiConfigureWorld.cpp:426
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"查看 debug.txt 以获得详细信息。"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:123
|
||||
msgid ""
|
||||
"Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "
|
||||
@@ -26,7 +62,7 @@ msgstr ""
|
||||
"警告:一些MOD仍未设定。\n"
|
||||
"它们会在你保存配置的时候自动启用。 "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:144
|
||||
#: src/guiConfigureWorld.cpp:143
|
||||
msgid ""
|
||||
"Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "
|
||||
@@ -38,56 +74,56 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "启用"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:215
|
||||
#: src/guiConfigureWorld.cpp:218
|
||||
msgid "Enable All"
|
||||
msgstr "全部启用"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:222
|
||||
#: src/guiConfigureWorld.cpp:227
|
||||
msgid "Disable All"
|
||||
msgstr "全部禁用"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:228
|
||||
#: src/guiConfigureWorld.cpp:235
|
||||
msgid "depends on:"
|
||||
msgstr "依赖于:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:240
|
||||
#: src/guiConfigureWorld.cpp:248
|
||||
msgid "is required by:"
|
||||
msgstr "需要:"
|
||||
msgstr "被需要:"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:262 src/guiCreateWorld.cpp:165
|
||||
#: src/guiKeyChangeMenu.cpp:179 src/keycode.cpp:223
|
||||
#: src/guiConfigureWorld.cpp:270 src/guiCreateWorld.cpp:177
|
||||
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:268 src/guiKeyChangeMenu.cpp:173
|
||||
#: src/guiConfigureWorld.cpp:277 src/guiKeyChangeMenu.cpp:187
|
||||
msgid "Save"
|
||||
msgstr "保存"
|
||||
|
||||
#: src/guiConfigureWorld.cpp:394
|
||||
#: src/guiConfigureWorld.cpp:403
|
||||
msgid "Configuration saved. "
|
||||
msgstr "配置已保存。 "
|
||||
|
||||
#: src/guiConfigureWorld.cpp:402
|
||||
#: src/guiConfigureWorld.cpp:415
|
||||
msgid "Warning: Configuration not consistent. "
|
||||
msgstr "警告:配置不一致。 "
|
||||
|
||||
#: src/guiConfirmMenu.cpp:120
|
||||
#: src/guiConfirmMenu.cpp:119
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: src/guiConfirmMenu.cpp:126
|
||||
#: src/guiConfirmMenu.cpp:127
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: src/guiCreateWorld.cpp:116
|
||||
#: src/guiCreateWorld.cpp:125
|
||||
msgid "World name"
|
||||
msgstr "世界名称"
|
||||
|
||||
#: src/guiCreateWorld.cpp:135
|
||||
#: src/guiCreateWorld.cpp:145
|
||||
msgid "Game"
|
||||
msgstr "游戏"
|
||||
|
||||
#: src/guiCreateWorld.cpp:159
|
||||
#: src/guiCreateWorld.cpp:169
|
||||
msgid "Create"
|
||||
msgstr "创建"
|
||||
|
||||
@@ -103,96 +139,96 @@ msgstr "重生"
|
||||
msgid "Left click: Move all items, Right click: Move single item"
|
||||
msgstr "左键:移动所有物品,右键:移动单个物品"
|
||||
|
||||
#: src/guiFormSpecMenu.cpp:607 src/guiMessageMenu.cpp:109
|
||||
#: src/guiTextInputMenu.cpp:131
|
||||
#: src/guiFormSpecMenu.cpp:608 src/guiMessageMenu.cpp:107
|
||||
#: src/guiTextInputMenu.cpp:130
|
||||
msgid "Proceed"
|
||||
msgstr "继续游戏"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:114
|
||||
#: src/guiKeyChangeMenu.cpp:121
|
||||
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
|
||||
msgstr "键位配置。(如果这个菜单被弄乱,从minetest.conf中删掉点东西)"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:151
|
||||
#: src/guiKeyChangeMenu.cpp:161
|
||||
msgid "\"Use\" = climb down"
|
||||
msgstr "“使用” = 向下爬"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:164
|
||||
#: src/guiKeyChangeMenu.cpp:176
|
||||
msgid "Double tap \"jump\" to toggle fly"
|
||||
msgstr "连按两次“跳”切换飞行状态"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:269
|
||||
#: src/guiKeyChangeMenu.cpp:290
|
||||
msgid "Key already in use"
|
||||
msgstr "按键已被占用"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:347
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
msgid "press key"
|
||||
msgstr "按键"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:372
|
||||
#: src/guiKeyChangeMenu.cpp:400
|
||||
msgid "Forward"
|
||||
msgstr "向前"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:373
|
||||
#: src/guiKeyChangeMenu.cpp:401
|
||||
msgid "Backward"
|
||||
msgstr "向后"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:374 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
|
||||
msgid "Left"
|
||||
msgstr "向左"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:375 src/keycode.cpp:228
|
||||
#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
|
||||
msgid "Right"
|
||||
msgstr "向右"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:376
|
||||
#: src/guiKeyChangeMenu.cpp:404
|
||||
msgid "Use"
|
||||
msgstr "使用"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:377
|
||||
#: src/guiKeyChangeMenu.cpp:405
|
||||
msgid "Jump"
|
||||
msgstr "跳"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:378
|
||||
#: src/guiKeyChangeMenu.cpp:406
|
||||
msgid "Sneak"
|
||||
msgstr "潜行"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:379
|
||||
#: src/guiKeyChangeMenu.cpp:407
|
||||
msgid "Drop"
|
||||
msgstr "丢出"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:380
|
||||
#: src/guiKeyChangeMenu.cpp:408
|
||||
msgid "Inventory"
|
||||
msgstr "物品栏"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:381
|
||||
#: src/guiKeyChangeMenu.cpp:409
|
||||
msgid "Chat"
|
||||
msgstr "聊天"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:382
|
||||
#: src/guiKeyChangeMenu.cpp:410
|
||||
msgid "Command"
|
||||
msgstr "命令"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:383
|
||||
#: src/guiKeyChangeMenu.cpp:411
|
||||
msgid "Console"
|
||||
msgstr "控制台"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:384
|
||||
#: src/guiKeyChangeMenu.cpp:412
|
||||
msgid "Toggle fly"
|
||||
msgstr "切换飞行状态"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:385
|
||||
#: src/guiKeyChangeMenu.cpp:413
|
||||
msgid "Toggle fast"
|
||||
msgstr "切换快速移动状态"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:386
|
||||
#: src/guiKeyChangeMenu.cpp:414
|
||||
msgid "Toggle noclip"
|
||||
msgstr "切换穿墙模式"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:387
|
||||
#: src/guiKeyChangeMenu.cpp:415
|
||||
msgid "Range select"
|
||||
msgstr "选择范围"
|
||||
|
||||
#: src/guiKeyChangeMenu.cpp:388
|
||||
#: src/guiKeyChangeMenu.cpp:416
|
||||
msgid "Print stacks"
|
||||
msgstr "打印栈"
|
||||
|
||||
@@ -200,181 +236,179 @@ msgstr "打印栈"
|
||||
msgid "Cannot create world: Name contains invalid characters"
|
||||
msgstr "无法创建世界:名字包含非法字符"
|
||||
|
||||
#: src/guiMainMenu.cpp:101
|
||||
#: src/guiMainMenu.cpp:103
|
||||
msgid "Cannot create world: A world by this name already exists"
|
||||
msgstr "无法创建世界:同名世界已经存在"
|
||||
|
||||
#: src/guiMainMenu.cpp:283
|
||||
#: src/guiMainMenu.cpp:285
|
||||
msgid "Singleplayer"
|
||||
msgstr "单人游戏"
|
||||
|
||||
#: src/guiMainMenu.cpp:284
|
||||
#: src/guiMainMenu.cpp:288
|
||||
msgid "Multiplayer"
|
||||
msgstr "多人游戏"
|
||||
|
||||
#: src/guiMainMenu.cpp:285
|
||||
#: src/guiMainMenu.cpp:291
|
||||
msgid "Advanced"
|
||||
msgstr "高级联机设置"
|
||||
|
||||
#: src/guiMainMenu.cpp:286
|
||||
#: src/guiMainMenu.cpp:294
|
||||
msgid "Settings"
|
||||
msgstr "设置"
|
||||
|
||||
#: src/guiMainMenu.cpp:287
|
||||
#: src/guiMainMenu.cpp:297
|
||||
msgid "Credits"
|
||||
msgstr "关于"
|
||||
|
||||
#: src/guiMainMenu.cpp:317
|
||||
#: src/guiMainMenu.cpp:330
|
||||
msgid "Select World:"
|
||||
msgstr "选择世界:"
|
||||
|
||||
#: src/guiMainMenu.cpp:339 src/guiMainMenu.cpp:511 src/keycode.cpp:229
|
||||
#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
||||
#: src/guiMainMenu.cpp:346
|
||||
#: src/guiMainMenu.cpp:369
|
||||
msgid "New"
|
||||
msgstr "新建"
|
||||
|
||||
#: src/guiMainMenu.cpp:354
|
||||
#: src/guiMainMenu.cpp:379
|
||||
msgid "Configure"
|
||||
msgstr "配置"
|
||||
|
||||
#: src/guiMainMenu.cpp:369 src/keycode.cpp:248
|
||||
#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
|
||||
msgid "Play"
|
||||
msgstr "开始游戏"
|
||||
|
||||
#: src/guiMainMenu.cpp:380 src/guiMainMenu.cpp:619
|
||||
#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
|
||||
msgid "Creative Mode"
|
||||
msgstr "创造模式"
|
||||
|
||||
#: src/guiMainMenu.cpp:386 src/guiMainMenu.cpp:625
|
||||
#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
|
||||
msgid "Enable Damage"
|
||||
msgstr "开启伤害"
|
||||
|
||||
#: src/guiMainMenu.cpp:406 src/guiMainMenu.cpp:541
|
||||
#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
|
||||
msgid "Name/Password"
|
||||
msgstr "名字/密码"
|
||||
|
||||
#: src/guiMainMenu.cpp:442 src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:1184
|
||||
#, fuzzy
|
||||
#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
|
||||
msgid "Favorites:"
|
||||
msgstr "显示最爱"
|
||||
msgstr "最爱的服务器:"
|
||||
|
||||
#: src/guiMainMenu.cpp:450 src/guiMainMenu.cpp:1194
|
||||
#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
|
||||
msgid "Public Server List:"
|
||||
msgstr ""
|
||||
msgstr "公共服务器列表:"
|
||||
|
||||
#: src/guiMainMenu.cpp:470 src/guiMainMenu.cpp:568
|
||||
#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
|
||||
msgid "Address/Port"
|
||||
msgstr "地址/端口"
|
||||
|
||||
#: src/guiMainMenu.cpp:497 src/guiMainMenu.cpp:1183
|
||||
#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
|
||||
msgid "Show Public"
|
||||
msgstr "显示公共"
|
||||
|
||||
#: src/guiMainMenu.cpp:501 src/guiMainMenu.cpp:1193
|
||||
#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
|
||||
msgid "Show Favorites"
|
||||
msgstr "显示最爱"
|
||||
|
||||
#: src/guiMainMenu.cpp:521
|
||||
#: src/guiMainMenu.cpp:591
|
||||
msgid "Connect"
|
||||
msgstr "连接"
|
||||
|
||||
#: src/guiMainMenu.cpp:591
|
||||
#: src/guiMainMenu.cpp:668
|
||||
msgid "Leave address blank to start a local server."
|
||||
msgstr "地址栏留空可启动本地服务器。"
|
||||
|
||||
#: src/guiMainMenu.cpp:600
|
||||
#: src/guiMainMenu.cpp:678
|
||||
msgid "Start Game / Connect"
|
||||
msgstr "启动游戏/连接"
|
||||
|
||||
#: src/guiMainMenu.cpp:632
|
||||
#, fuzzy
|
||||
#: src/guiMainMenu.cpp:716
|
||||
msgid "Public"
|
||||
msgstr "显示公共"
|
||||
msgstr "公共服务器"
|
||||
|
||||
#: src/guiMainMenu.cpp:640 src/guiMainMenu.cpp:1113
|
||||
#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
|
||||
msgid "Delete world"
|
||||
msgstr "删除世界"
|
||||
|
||||
#: src/guiMainMenu.cpp:647
|
||||
#: src/guiMainMenu.cpp:735
|
||||
msgid "Create world"
|
||||
msgstr "创造世界"
|
||||
|
||||
#: src/guiMainMenu.cpp:681
|
||||
#: src/guiMainMenu.cpp:773
|
||||
msgid "Fancy trees"
|
||||
msgstr "更漂亮的树"
|
||||
|
||||
#: src/guiMainMenu.cpp:687
|
||||
#: src/guiMainMenu.cpp:781
|
||||
msgid "Smooth Lighting"
|
||||
msgstr "平滑光照"
|
||||
|
||||
#: src/guiMainMenu.cpp:693
|
||||
#: src/guiMainMenu.cpp:789
|
||||
msgid "3D Clouds"
|
||||
msgstr "3D云彩"
|
||||
|
||||
#: src/guiMainMenu.cpp:699
|
||||
#: src/guiMainMenu.cpp:797
|
||||
msgid "Opaque water"
|
||||
msgstr "不反光的水"
|
||||
msgstr "不透明的水"
|
||||
|
||||
#: src/guiMainMenu.cpp:709
|
||||
#: src/guiMainMenu.cpp:809
|
||||
msgid "Mip-Mapping"
|
||||
msgstr "贴图处理"
|
||||
|
||||
#: src/guiMainMenu.cpp:716
|
||||
#: src/guiMainMenu.cpp:818
|
||||
msgid "Anisotropic Filtering"
|
||||
msgstr "各向异性过滤"
|
||||
|
||||
#: src/guiMainMenu.cpp:723
|
||||
#: src/guiMainMenu.cpp:827
|
||||
msgid "Bi-Linear Filtering"
|
||||
msgstr "双线性过滤"
|
||||
|
||||
#: src/guiMainMenu.cpp:730
|
||||
#: src/guiMainMenu.cpp:836
|
||||
msgid "Tri-Linear Filtering"
|
||||
msgstr "三线性过滤"
|
||||
|
||||
#: src/guiMainMenu.cpp:738
|
||||
#: src/guiMainMenu.cpp:846
|
||||
msgid "Shaders"
|
||||
msgstr "着色器"
|
||||
|
||||
#: src/guiMainMenu.cpp:745
|
||||
#: src/guiMainMenu.cpp:855
|
||||
msgid "Preload item visuals"
|
||||
msgstr "预先加载物品图像"
|
||||
|
||||
#: src/guiMainMenu.cpp:752
|
||||
#: src/guiMainMenu.cpp:864
|
||||
msgid "Enable Particles"
|
||||
msgstr "启用粒子效果"
|
||||
|
||||
#: src/guiMainMenu.cpp:759
|
||||
#: src/guiMainMenu.cpp:873
|
||||
msgid "Finite liquid"
|
||||
msgstr ""
|
||||
msgstr "液体有限延伸"
|
||||
|
||||
#: src/guiMainMenu.cpp:769
|
||||
#: src/guiMainMenu.cpp:885
|
||||
msgid "Change keys"
|
||||
msgstr "改变键位设置"
|
||||
|
||||
#: src/guiMainMenu.cpp:1084
|
||||
#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
|
||||
msgid "Address required."
|
||||
msgstr "需要地址。"
|
||||
|
||||
#: src/guiMainMenu.cpp:1102
|
||||
#: src/guiMainMenu.cpp:1231
|
||||
msgid "Cannot delete world: Nothing selected"
|
||||
msgstr "无法删除世界:没有选择世界"
|
||||
|
||||
#: src/guiMainMenu.cpp:1117
|
||||
#: src/guiMainMenu.cpp:1246
|
||||
msgid "Files to be deleted"
|
||||
msgstr "将被删除的文件"
|
||||
|
||||
#: src/guiMainMenu.cpp:1133
|
||||
#: src/guiMainMenu.cpp:1267
|
||||
msgid "Cannot create world: No games found"
|
||||
msgstr "无法创造世界:未找到游戏模式"
|
||||
|
||||
#: src/guiMainMenu.cpp:1149
|
||||
#: src/guiMainMenu.cpp:1286
|
||||
msgid "Cannot configure world: Nothing selected"
|
||||
msgstr "无法配置世界:没有选择世界"
|
||||
|
||||
#: src/guiMainMenu.cpp:1256
|
||||
#: src/guiMainMenu.cpp:1428
|
||||
msgid "Failed to delete all world files"
|
||||
msgstr "无法删除所有该世界的文件"
|
||||
|
||||
@@ -382,76 +416,75 @@ msgstr "无法删除所有该世界的文件"
|
||||
msgid "Old Password"
|
||||
msgstr "旧密码"
|
||||
|
||||
#: src/guiPasswordChange.cpp:125
|
||||
#: src/guiPasswordChange.cpp:126
|
||||
msgid "New Password"
|
||||
msgstr "新密码"
|
||||
|
||||
#: src/guiPasswordChange.cpp:141
|
||||
#: src/guiPasswordChange.cpp:143
|
||||
msgid "Confirm Password"
|
||||
msgstr "确认密码"
|
||||
|
||||
#: src/guiPasswordChange.cpp:158
|
||||
#: src/guiPasswordChange.cpp:161
|
||||
msgid "Change"
|
||||
msgstr "更改"
|
||||
|
||||
#: src/guiPasswordChange.cpp:167
|
||||
#: src/guiPasswordChange.cpp:170
|
||||
msgid "Passwords do not match!"
|
||||
msgstr "密码不匹配!"
|
||||
|
||||
#: src/guiPauseMenu.cpp:123
|
||||
#: src/guiPauseMenu.cpp:122
|
||||
msgid "Continue"
|
||||
msgstr "继续"
|
||||
|
||||
#: src/guiPauseMenu.cpp:132
|
||||
#: src/guiPauseMenu.cpp:133
|
||||
msgid "Change Password"
|
||||
msgstr "更改密码"
|
||||
|
||||
#: src/guiPauseMenu.cpp:140
|
||||
#: src/guiPauseMenu.cpp:143
|
||||
msgid "Sound Volume"
|
||||
msgstr ""
|
||||
msgstr "音量"
|
||||
|
||||
#: src/guiPauseMenu.cpp:147
|
||||
#: src/guiPauseMenu.cpp:152
|
||||
msgid "Exit to Menu"
|
||||
msgstr "退出至菜单"
|
||||
|
||||
#: src/guiPauseMenu.cpp:154
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
msgid "Exit to OS"
|
||||
msgstr "退出至操作系统"
|
||||
|
||||
#: src/guiPauseMenu.cpp:161
|
||||
#: src/guiPauseMenu.cpp:170
|
||||
msgid ""
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
"- T: chat\n"
|
||||
msgstr ""
|
||||
"默认控制:\n"
|
||||
"W/A/S/D: 走\n"
|
||||
"空格: 跳\n"
|
||||
"鼠标左键: 挖方块/攻击\n"
|
||||
"鼠标右键: 放置/使用\n"
|
||||
"W/A/S/D: 移动\n"
|
||||
"空格: 跳/爬\n"
|
||||
"Shift: 潜行/向下\n"
|
||||
"Q: 丢物品\n"
|
||||
"I: 物品栏\n"
|
||||
"鼠标:转身/环顾\n"
|
||||
"鼠标左键: 挖\n"
|
||||
"鼠标右键: 放/使用\n"
|
||||
"鼠标滚轮: 选择物品\n"
|
||||
"0-9: 选择物品\n"
|
||||
"Shift: 潜行\n"
|
||||
"R:切换查看所有已载入区块\n"
|
||||
"I:物品栏\n"
|
||||
"ESC:菜单\n"
|
||||
"T:聊天\n"
|
||||
"T: 聊天\n"
|
||||
|
||||
#: src/guiVolumeChange.cpp:108
|
||||
msgid "Sound Volume: "
|
||||
msgstr ""
|
||||
msgstr "音量: "
|
||||
|
||||
#: src/guiVolumeChange.cpp:121
|
||||
#: src/guiVolumeChange.cpp:122
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
msgstr "退出"
|
||||
|
||||
#: src/keycode.cpp:223
|
||||
msgid "Left Button"
|
||||
@@ -745,34 +778,52 @@ msgstr "PA1键"
|
||||
msgid "Zoom"
|
||||
msgstr "缩放"
|
||||
|
||||
#: src/main.cpp:1506
|
||||
#: src/main.cpp:1680
|
||||
msgid "Main Menu"
|
||||
msgstr "主菜单"
|
||||
|
||||
#: src/main.cpp:1830
|
||||
#: src/main.cpp:2035
|
||||
msgid "Failed to initialize world"
|
||||
msgstr "无法初始化世界"
|
||||
|
||||
#: src/main.cpp:1842
|
||||
#: src/main.cpp:2048
|
||||
msgid "No world selected and no address provided. Nothing to do."
|
||||
msgstr "没有选择世界或提供地址。未执行操作。"
|
||||
|
||||
#: src/main.cpp:1850
|
||||
#: src/main.cpp:2056
|
||||
msgid "Could not find or load game \""
|
||||
msgstr "无法找到或载入游戏模式“"
|
||||
|
||||
#: src/main.cpp:1864
|
||||
#: src/main.cpp:2070
|
||||
msgid "Invalid gamespec."
|
||||
msgstr "非法游戏模式规格。"
|
||||
|
||||
#: src/main.cpp:1904
|
||||
#: src/main.cpp:2111
|
||||
msgid "Connection error (timed out?)"
|
||||
msgstr "连接出错(超时?)"
|
||||
|
||||
#: src/main.cpp:1915
|
||||
msgid ""
|
||||
"\n"
|
||||
"Check debug.txt for details."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"查看 debug.txt 以获得详细信息。"
|
||||
#~ msgid ""
|
||||
#~ "Default Controls:\n"
|
||||
#~ "- WASD: Walk\n"
|
||||
#~ "- Mouse left: dig/hit\n"
|
||||
#~ "- Mouse right: place/use\n"
|
||||
#~ "- Mouse wheel: select item\n"
|
||||
#~ "- 0...9: select item\n"
|
||||
#~ "- Shift: sneak\n"
|
||||
#~ "- R: Toggle viewing all loaded chunks\n"
|
||||
#~ "- I: Inventory menu\n"
|
||||
#~ "- ESC: This menu\n"
|
||||
#~ "- T: Chat\n"
|
||||
#~ msgstr ""
|
||||
#~ "默认控制:\n"
|
||||
#~ "W/A/S/D: 走\n"
|
||||
#~ "空格: 跳\n"
|
||||
#~ "鼠标左键: 挖方块/攻击\n"
|
||||
#~ "鼠标右键: 放置/使用\n"
|
||||
#~ "鼠标滚轮: 选择物品\n"
|
||||
#~ "0-9: 选择物品\n"
|
||||
#~ "Shift: 潜行\n"
|
||||
#~ "R:切换查看所有已载入区块\n"
|
||||
#~ "I:物品栏\n"
|
||||
#~ "ESC:菜单\n"
|
||||
#~ "T:聊天\n"
|
||||
|
||||
@@ -180,16 +180,35 @@ if(USE_FREETYPE)
|
||||
set(CGUITTFONT_LIBRARY cguittfont)
|
||||
endif(USE_FREETYPE)
|
||||
|
||||
# Do not use system-wide installation of Lua, because it'll likely be a
|
||||
# different version and/or has different build options.
|
||||
set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src")
|
||||
set(LUA_LIBRARY "lua")
|
||||
|
||||
find_library(LUA_LIBRARY luajit
|
||||
NAMES luajit-5.1)
|
||||
find_path(LUA_INCLUDE_DIR luajit.h
|
||||
NAMES luajit.h
|
||||
PATH_SUFFIXES luajit-2.0)
|
||||
message (STATUS "LuaJIT library: ${LUA_LIBRARY}")
|
||||
message (STATUS "LuaJIT headers: ${LUA_INCLUDE_DIR}")
|
||||
|
||||
if(LUA_LIBRARY AND LUA_INCLUDE_DIR)
|
||||
message (STATUS "LuaJIT found.")
|
||||
else(LUA_LIBRARY AND LUA_INCLUDE_DIR)
|
||||
message (STATUS "LuaJIT not found, using bundled Lua.")
|
||||
set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src")
|
||||
set(LUA_LIBRARY "lua")
|
||||
add_subdirectory(lua)
|
||||
endif(LUA_LIBRARY AND LUA_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(LUA_LIBRARY)
|
||||
mark_as_advanced(LUA_INCLUDE_DIR)
|
||||
|
||||
configure_file(
|
||||
"${PROJECT_SOURCE_DIR}/cmake_config.h.in"
|
||||
"${PROJECT_BINARY_DIR}/cmake_config.h"
|
||||
)
|
||||
|
||||
add_subdirectory(script)
|
||||
add_subdirectory(util)
|
||||
|
||||
set(common_SRCS
|
||||
rollback_interface.cpp
|
||||
rollback.cpp
|
||||
@@ -206,31 +225,17 @@ set(common_SRCS
|
||||
itemdef.cpp
|
||||
nodedef.cpp
|
||||
object_properties.cpp
|
||||
scriptapi_types.cpp
|
||||
scriptapi_common.cpp
|
||||
scriptapi_content.cpp
|
||||
scriptapi_craft.cpp
|
||||
scriptapi_node.cpp
|
||||
scriptapi_item.cpp
|
||||
scriptapi_env.cpp
|
||||
scriptapi_nodetimer.cpp
|
||||
scriptapi_noise.cpp
|
||||
scriptapi_entity.cpp
|
||||
scriptapi_object.cpp
|
||||
scriptapi_nodemeta.cpp
|
||||
scriptapi_inventory.cpp
|
||||
scriptapi_particles.cpp
|
||||
scriptapi.cpp
|
||||
script.cpp
|
||||
log.cpp
|
||||
content_sao.cpp
|
||||
emerge.cpp
|
||||
mapgen.cpp
|
||||
mapgen_v6.cpp
|
||||
mapgen_v7.cpp
|
||||
mapgen_indev.cpp
|
||||
mapgen_singlenode.cpp
|
||||
treegen.cpp
|
||||
dungeongen.cpp
|
||||
cavegen.cpp
|
||||
content_nodemeta.cpp
|
||||
content_mapnode.cpp
|
||||
collision.cpp
|
||||
@@ -264,12 +269,9 @@ set(common_SRCS
|
||||
clientserver.cpp
|
||||
staticobject.cpp
|
||||
serverlist.cpp
|
||||
util/serialize.cpp
|
||||
util/directiontables.cpp
|
||||
util/numeric.cpp
|
||||
util/pointedthing.cpp
|
||||
util/string.cpp
|
||||
util/timetaker.cpp
|
||||
pathfinder.cpp
|
||||
${SCRIPT_SRCS}
|
||||
${UTIL_SRCS}
|
||||
)
|
||||
|
||||
# This gives us the icon
|
||||
@@ -309,6 +311,7 @@ set(minetest_SRCS
|
||||
particles.cpp
|
||||
clientobject.cpp
|
||||
chat.cpp
|
||||
hud.cpp
|
||||
guiMainMenu.cpp
|
||||
guiKeyChangeMenu.cpp
|
||||
guiMessageMenu.cpp
|
||||
@@ -345,6 +348,7 @@ set(minetestserver_SRCS
|
||||
|
||||
include_directories(
|
||||
${PROJECT_BINARY_DIR}
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${IRRLICHT_INCLUDE_DIR}
|
||||
${ZLIB_INCLUDE_DIR}
|
||||
${CMAKE_BUILD_TYPE}
|
||||
@@ -355,6 +359,7 @@ include_directories(
|
||||
${SQLITE3_INCLUDE_DIR}
|
||||
${LUA_INCLUDE_DIR}
|
||||
${JSON_INCLUDE_DIR}
|
||||
${PROJECT_SOURCE_DIR}/script
|
||||
)
|
||||
|
||||
if(USE_FREETYPE)
|
||||
@@ -599,11 +604,6 @@ if (BUILD_CLIENT AND USE_FREETYPE)
|
||||
add_subdirectory(cguittfont)
|
||||
endif (BUILD_CLIENT AND USE_FREETYPE)
|
||||
|
||||
if (LUA_FOUND)
|
||||
else (LUA_FOUND)
|
||||
add_subdirectory(lua)
|
||||
endif (LUA_FOUND)
|
||||
|
||||
if (JSON_FOUND)
|
||||
else (JSON_FOUND)
|
||||
add_subdirectory(json)
|
||||
|
||||
267
src/biome.cpp
267
src/biome.cpp
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr2@cs.scranton.edu>
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
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
|
||||
@@ -23,68 +23,50 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "log.h"
|
||||
#include "main.h"
|
||||
|
||||
#define BT_NONE 0
|
||||
#define BT_OCEAN 1
|
||||
#define BT_LAKE 2
|
||||
#define BT_SBEACH 3
|
||||
#define BT_GBEACH 4
|
||||
#define BT_PLAINS 5
|
||||
#define BT_HILLS 6
|
||||
#define BT_EXTREMEHILLS 7
|
||||
#define BT_MOUNTAINS 8
|
||||
#define BT_DESERT 9
|
||||
#define BT_DESERTHILLS 10
|
||||
#define BT_HELL 11
|
||||
#define BT_AETHER 12
|
||||
|
||||
#define BT_BTMASK 0x3F
|
||||
|
||||
#define BTF_SNOW 0x40
|
||||
#define BTF_FOREST 0x80
|
||||
|
||||
#define BGFREQ_1 ( 0.40)
|
||||
#define BGFREQ_2 (BGFREQ_1 + 0.05)
|
||||
#define BGFREQ_3 (BGFREQ_2 + 0.08)
|
||||
#define BGFREQ_4 (BGFREQ_3 + 0.35)
|
||||
#define BGFREQ_5 (BGFREQ_4 + 0.18)
|
||||
//BGFREQ_5 is not checked as an upper bound; it ought to sum up to 1.00, but it's okay if it doesn't.
|
||||
NoiseParams nparams_biome_def_heat =
|
||||
{50, 50, v3f(500.0, 500.0, 500.0), 5349, 3, 0.70};
|
||||
NoiseParams nparams_biome_def_humidity =
|
||||
{50, 50, v3f(500.0, 500.0, 500.0), 842, 3, 0.55};
|
||||
|
||||
|
||||
/*float bg1_temps[] = {0.0};
|
||||
int bg1_biomes[] = {BT_OCEAN};
|
||||
BiomeDefManager::BiomeDefManager() {
|
||||
biome_registration_finished = false;
|
||||
np_heat = &nparams_biome_def_heat;
|
||||
np_humidity = &nparams_biome_def_humidity;
|
||||
|
||||
float bg2_temps[] = {10.0};
|
||||
int bg2_biomes[] = {BT_GBEACH, BT_SBEACH};
|
||||
// Create default biome to be used in case none exist
|
||||
Biome *b = new Biome;
|
||||
|
||||
b->id = 0;
|
||||
b->name = "Default";
|
||||
b->flags = 0;
|
||||
|
||||
float bg3_temps[] = {30.0, 40.0};
|
||||
int bg3_biomes[] = {BT_HILLS, BT_EXTREMEHILLS, BT_MOUNTAINS};
|
||||
b->c_top = CONTENT_AIR;
|
||||
b->top_depth = 0;
|
||||
b->c_filler = b->c_top;
|
||||
b->filler_height = MAP_GENERATION_LIMIT;
|
||||
|
||||
float bg4_temps[] = {25.0, 30.0, 35.0, 40.0};
|
||||
int bg4_biomes[] = {BT_HILLS, BT_EXTREMEHILLS, BT_MOUNTAINS, BT_DESERT, BT_DESERTHILLS};
|
||||
b->height_min = -MAP_GENERATION_LIMIT;
|
||||
b->height_max = MAP_GENERATION_LIMIT;
|
||||
b->heat_point = 0.0;
|
||||
b->humidity_point = 0.0;
|
||||
|
||||
float bg5_temps[] = {5.0, 40.0};
|
||||
int bg5_biomes[] = {BT_LAKE, BT_PLAINS, BT_DESERT};*/
|
||||
|
||||
NoiseParams np_default = {20.0, 15.0, v3f(250., 250., 250.), 82341, 5, 0.6};
|
||||
|
||||
|
||||
BiomeDefManager::BiomeDefManager(IGameDef *gamedef) {
|
||||
this->m_gamedef = gamedef;
|
||||
this->ndef = gamedef->ndef();
|
||||
|
||||
//the initial biome group
|
||||
bgroups.push_back(new std::vector<Biome *>);
|
||||
biomes.push_back(b);
|
||||
}
|
||||
|
||||
|
||||
BiomeDefManager::~BiomeDefManager() {
|
||||
for (unsigned int i = 0; i != bgroups.size(); i++)
|
||||
delete bgroups[i];
|
||||
//if (biomecache)
|
||||
// delete[] biomecache;
|
||||
|
||||
for (size_t i = 0; i != biomes.size(); i++)
|
||||
delete biomes[i];
|
||||
}
|
||||
|
||||
|
||||
Biome *BiomeDefManager::createBiome(BiomeTerrainType btt) {
|
||||
switch (btt) {
|
||||
/*switch (btt) {
|
||||
case BIOME_TERRAIN_NORMAL:
|
||||
return new Biome;
|
||||
case BIOME_TERRAIN_LIQUID:
|
||||
@@ -92,142 +74,97 @@ Biome *BiomeDefManager::createBiome(BiomeTerrainType btt) {
|
||||
case BIOME_TERRAIN_NETHER:
|
||||
return new BiomeHell;
|
||||
case BIOME_TERRAIN_AETHER:
|
||||
return new BiomeAether;
|
||||
return new BiomeSky;
|
||||
case BIOME_TERRAIN_FLAT:
|
||||
return new BiomeSuperflat;
|
||||
}
|
||||
return NULL;
|
||||
return NULL;*/
|
||||
return new Biome;
|
||||
}
|
||||
|
||||
|
||||
void BiomeDefManager::addBiomeGroup(float freq) {
|
||||
int size = bgroup_freqs.size();
|
||||
float newfreq = freq;
|
||||
// just a PoC, obviously needs optimization later on (precalculate this)
|
||||
void BiomeDefManager::calcBiomes(BiomeNoiseInput *input, u8 *biomeid_map) {
|
||||
int i = 0;
|
||||
for (int y = 0; y != input->mapsize.Y; y++) {
|
||||
for (int x = 0; x != input->mapsize.X; x++, i++) {
|
||||
float heat = (input->heat_map[i] + 1) * 50;
|
||||
float humidity = (input->humidity_map[i] + 1) * 50;
|
||||
biomeid_map[i] = getBiome(heat, humidity, input->height_map[i])->id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (size)
|
||||
newfreq += bgroup_freqs[size - 1];
|
||||
bgroup_freqs.push_back(newfreq);
|
||||
bgroups.push_back(new std::vector<Biome *>);
|
||||
|
||||
verbosestream << "BiomeDefManager: added biome group with frequency " <<
|
||||
newfreq << std::endl;
|
||||
void BiomeDefManager::resolveNodeNames(INodeDefManager *ndef) {
|
||||
Biome *b;
|
||||
|
||||
biome_registration_finished = true;
|
||||
|
||||
for (size_t i = 0; i != biomes.size(); i++) {
|
||||
b = biomes[i];
|
||||
|
||||
if (b->c_top == CONTENT_IGNORE) {
|
||||
b->c_top = ndef->getId(b->top_nodename);
|
||||
if (b->c_top == CONTENT_IGNORE) {
|
||||
errorstream << "BiomeDefManager::resolveNodeNames: node '"
|
||||
<< b->top_nodename << "' not defined" << std::endl;
|
||||
b->c_top = CONTENT_AIR;
|
||||
b->top_depth = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (b->c_filler == CONTENT_IGNORE) {
|
||||
b->c_filler = ndef->getId(b->filler_nodename);
|
||||
if (b->c_filler == CONTENT_IGNORE) {
|
||||
errorstream << "BiomeDefManager::resolveNodeNames: node '"
|
||||
<< b->filler_nodename << "' not defined" << std::endl;
|
||||
b->c_filler = CONTENT_AIR;
|
||||
b->filler_height = MAP_GENERATION_LIMIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void BiomeDefManager::addBiome(Biome *b) {
|
||||
std::vector<Biome *> *bgroup;
|
||||
|
||||
if ((unsigned int)b->groupid >= bgroups.size()) {
|
||||
errorstream << "BiomeDefManager: attempted to add biome '" << b->name
|
||||
<< "' to nonexistent biome group " << b->groupid << std::endl;
|
||||
if (biome_registration_finished) {
|
||||
errorstream << "BIomeDefManager: biome registration already finished, dropping " << b->name <<std::endl;
|
||||
delete b;
|
||||
return;
|
||||
}
|
||||
|
||||
size_t nbiomes = biomes.size();
|
||||
if (nbiomes >= 0xFF) {
|
||||
errorstream << "BiomeDefManager: too many biomes, dropping " << b->name << std::endl;
|
||||
delete b;
|
||||
return;
|
||||
}
|
||||
|
||||
bgroup = bgroups[b->groupid];
|
||||
bgroup->push_back(b);
|
||||
|
||||
verbosestream << "BiomeDefManager: added biome '" << b->name <<
|
||||
"' to biome group " << (int)b->groupid << std::endl;
|
||||
b->id = (u8)nbiomes;
|
||||
biomes.push_back(b);
|
||||
verbosestream << "BiomeDefManager: added biome " << b->name << std::endl;
|
||||
}
|
||||
|
||||
|
||||
void BiomeDefManager::addDefaultBiomes() {
|
||||
Biome *b;
|
||||
Biome *BiomeDefManager::getBiome(float heat, float humidity, s16 y) {
|
||||
Biome *b, *biome_closest = NULL;
|
||||
float dist_min = FLT_MAX;
|
||||
|
||||
b = new Biome;
|
||||
b->name = "Default";
|
||||
b->n_top = MapNode(ndef->getId("mapgen_stone"));
|
||||
b->n_filler = b->n_top;
|
||||
b->ntopnodes = 0;
|
||||
b->height_min = -MAP_GENERATION_LIMIT;
|
||||
b->height_max = MAP_GENERATION_LIMIT;
|
||||
b->heat_min = FLT_MIN;
|
||||
b->heat_max = FLT_MAX;
|
||||
b->humidity_min = FLT_MIN;
|
||||
b->humidity_max = FLT_MAX;
|
||||
b->np = &np_default;
|
||||
biome_default = b;
|
||||
}
|
||||
for (size_t i = 1; i < biomes.size(); i++) {
|
||||
b = biomes[i];
|
||||
if (y > b->height_max || y < b->height_min)
|
||||
continue;
|
||||
|
||||
|
||||
Biome *BiomeDefManager::getBiome(float bgfreq, float heat, float humidity) {
|
||||
std::vector<Biome *> *bgroup;
|
||||
Biome *b;
|
||||
int i;
|
||||
|
||||
int ngroups = bgroup_freqs.size();
|
||||
if (!ngroups)
|
||||
return biome_default;
|
||||
for (i = 0; (i != ngroups) && (bgfreq > bgroup_freqs[i]); i++);
|
||||
bgroup = bgroups[i];
|
||||
|
||||
int nbiomes = bgroup->size();
|
||||
for (i = 0; i != nbiomes; i++) {
|
||||
b = bgroup->operator[](i);
|
||||
if (heat >= b->heat_min && heat <= b->heat_max &&
|
||||
humidity >= b->humidity_min && humidity <= b->humidity_max)
|
||||
return b;
|
||||
float d_heat = heat - b->heat_point;
|
||||
float d_humidity = humidity - b->humidity_point;
|
||||
float dist = (d_heat * d_heat) +
|
||||
(d_humidity * d_humidity);
|
||||
if (dist < dist_min) {
|
||||
dist_min = dist;
|
||||
biome_closest = b;
|
||||
}
|
||||
}
|
||||
|
||||
return biome_default;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////// [ Generic biome ] ////////////////////////////////
|
||||
|
||||
|
||||
int Biome::getSurfaceHeight(float noise_terrain) {
|
||||
return np->offset + np->scale * noise_terrain;
|
||||
}
|
||||
|
||||
|
||||
void Biome::genColumn(Mapgen *mapgen, int x, int z, int y1, int y2) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////// [ Ocean biome ] /////////////////////////////////
|
||||
|
||||
|
||||
void BiomeLiquid::genColumn(Mapgen *mapgen, int x, int z, int y1, int y2) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////// [ Nether biome ] /////////////////////////////////
|
||||
|
||||
|
||||
int BiomeHell::getSurfaceHeight(float noise_terrain) {
|
||||
return np->offset + np->scale * noise_terrain;
|
||||
}
|
||||
|
||||
|
||||
void BiomeHell::genColumn(Mapgen *mapgen, int x, int z, int y1, int y2) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////// [ Aether biome ] ////////////////////////////////
|
||||
|
||||
|
||||
int BiomeAether::getSurfaceHeight(float noise_terrain) {
|
||||
return np->offset + np->scale * noise_terrain;
|
||||
}
|
||||
|
||||
|
||||
void BiomeAether::genColumn(Mapgen *mapgen, int x, int z, int y1, int y2) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////// [ Superflat biome ] ///////////////////////////////
|
||||
|
||||
|
||||
int BiomeSuperflat::getSurfaceHeight(float noise_terrain) {
|
||||
return ntopnodes;
|
||||
}
|
||||
|
||||
|
||||
void BiomeSuperflat::genColumn(Mapgen *mapgen, int x, int z, int y1, int y2) {
|
||||
|
||||
|
||||
return biome_closest ? biome_closest : biomes[0];
|
||||
}
|
||||
|
||||
77
src/biome.h
77
src/biome.h
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr2@cs.scranton.edu>
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
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
|
||||
@@ -27,7 +27,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "noise.h"
|
||||
#include "mapgen.h"
|
||||
|
||||
|
||||
enum BiomeTerrainType
|
||||
{
|
||||
BIOME_TERRAIN_NORMAL,
|
||||
@@ -37,62 +36,54 @@ enum BiomeTerrainType
|
||||
BIOME_TERRAIN_FLAT
|
||||
};
|
||||
|
||||
extern NoiseParams nparams_biome_def_heat;
|
||||
extern NoiseParams nparams_biome_def_humidity;
|
||||
|
||||
class Biome {
|
||||
public:
|
||||
MapNode n_top;
|
||||
MapNode n_filler;
|
||||
s16 ntopnodes;
|
||||
s8 groupid;
|
||||
s8 flags;
|
||||
u8 id;
|
||||
std::string name;
|
||||
u32 flags;
|
||||
|
||||
std::string top_nodename;
|
||||
std::string filler_nodename;
|
||||
|
||||
content_t c_top;
|
||||
s16 top_depth;
|
||||
|
||||
content_t c_filler;
|
||||
s16 filler_height;
|
||||
|
||||
s16 height_min;
|
||||
s16 height_max;
|
||||
float heat_min;
|
||||
float heat_max;
|
||||
float humidity_min;
|
||||
float humidity_max;
|
||||
std::string name;
|
||||
NoiseParams *np;
|
||||
|
||||
virtual void genColumn(Mapgen *mg, int x, int z, int y1, int y2);
|
||||
virtual int getSurfaceHeight(float noise_terrain);
|
||||
float heat_point;
|
||||
float humidity_point;
|
||||
};
|
||||
|
||||
class BiomeLiquid : public Biome {
|
||||
virtual void genColumn(Mapgen *mg, int x, int z, int y1, int y2);
|
||||
};
|
||||
|
||||
class BiomeHell : public Biome {
|
||||
virtual void genColumn(Mapgen *mg, int x, int z, int y1, int y2);
|
||||
virtual int getSurfaceHeight(float noise_terrain);
|
||||
};
|
||||
|
||||
class BiomeAether : public Biome {
|
||||
virtual void genColumn(Mapgen *mg, int x, int z, int y1, int y2);
|
||||
virtual int getSurfaceHeight(float noise_terrain);
|
||||
};
|
||||
|
||||
class BiomeSuperflat : public Biome {
|
||||
virtual void genColumn(Mapgen *mg, int x, int z, int y1, int y2);
|
||||
virtual int getSurfaceHeight(float noise_terrain);
|
||||
struct BiomeNoiseInput {
|
||||
v2s16 mapsize;
|
||||
float *heat_map;
|
||||
float *humidity_map;
|
||||
s16 *height_map;
|
||||
};
|
||||
|
||||
class BiomeDefManager {
|
||||
public:
|
||||
std::vector<float> bgroup_freqs;
|
||||
std::vector<std::vector<Biome *> *> bgroups;
|
||||
Biome *biome_default;
|
||||
IGameDef *m_gamedef;
|
||||
INodeDefManager *ndef;
|
||||
std::vector<Biome *> biomes;
|
||||
|
||||
BiomeDefManager(IGameDef *gamedef);
|
||||
bool biome_registration_finished;
|
||||
NoiseParams *np_heat;
|
||||
NoiseParams *np_humidity;
|
||||
|
||||
BiomeDefManager();
|
||||
~BiomeDefManager();
|
||||
|
||||
|
||||
Biome *createBiome(BiomeTerrainType btt);
|
||||
Biome *getBiome(float bgfreq, float heat, float humidity);
|
||||
void calcBiomes(BiomeNoiseInput *input, u8 *biomeid_map);
|
||||
Biome *getBiome(float heat, float humidity, s16 y);
|
||||
|
||||
void addBiomeGroup(float freq);
|
||||
void addBiome(Biome *b);
|
||||
void addDefaultBiomes();
|
||||
void resolveNodeNames(INodeDefManager *ndef);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
105
src/camera.cpp
105
src/camera.cpp
@@ -67,9 +67,16 @@ Camera::Camera(scene::ISceneManager* smgr, MapDrawControl& draw_control,
|
||||
m_view_bobbing_anim(0),
|
||||
m_view_bobbing_state(0),
|
||||
m_view_bobbing_speed(0),
|
||||
m_view_bobbing_fall(0),
|
||||
|
||||
m_digging_anim(0),
|
||||
m_digging_button(-1)
|
||||
m_digging_button(-1),
|
||||
m_dummymesh(createCubeMesh(v3f(1,1,1))),
|
||||
|
||||
m_wield_change_timer(0.125),
|
||||
m_wield_mesh_next(NULL),
|
||||
m_previous_playeritem(-1),
|
||||
m_previous_itemname("")
|
||||
{
|
||||
//dstream<<__FUNCTION_NAME<<std::endl;
|
||||
|
||||
@@ -84,13 +91,14 @@ Camera::Camera(scene::ISceneManager* smgr, MapDrawControl& draw_control,
|
||||
// all other 3D scene nodes and before the GUI.
|
||||
m_wieldmgr = smgr->createNewSceneManager();
|
||||
m_wieldmgr->addCameraSceneNode();
|
||||
m_wieldnode = m_wieldmgr->addMeshSceneNode(createCubeMesh(v3f(1,1,1)), NULL); // need a dummy mesh
|
||||
m_wieldnode = m_wieldmgr->addMeshSceneNode(m_dummymesh, NULL); // need a dummy mesh
|
||||
}
|
||||
|
||||
Camera::~Camera()
|
||||
{
|
||||
m_wieldnode->setMesh(NULL);
|
||||
m_wieldmgr->drop();
|
||||
|
||||
delete m_dummymesh;
|
||||
}
|
||||
|
||||
bool Camera::successfullyCreated(std::wstring& error_message)
|
||||
@@ -132,6 +140,29 @@ inline f32 my_modf(f32 x)
|
||||
|
||||
void Camera::step(f32 dtime)
|
||||
{
|
||||
if(m_view_bobbing_fall > 0)
|
||||
{
|
||||
m_view_bobbing_fall -= 3 * dtime;
|
||||
if(m_view_bobbing_fall <= 0)
|
||||
m_view_bobbing_fall = -1; // Mark the effect as finished
|
||||
}
|
||||
|
||||
bool was_under_zero = m_wield_change_timer < 0;
|
||||
if(m_wield_change_timer < 0.125)
|
||||
m_wield_change_timer += dtime;
|
||||
if(m_wield_change_timer > 0.125)
|
||||
m_wield_change_timer = 0.125;
|
||||
|
||||
if(m_wield_change_timer >= 0 && was_under_zero) {
|
||||
if(m_wield_mesh_next) {
|
||||
m_wieldnode->setMesh(m_wield_mesh_next);
|
||||
m_wieldnode->setVisible(true);
|
||||
} else {
|
||||
m_wieldnode->setVisible(false);
|
||||
}
|
||||
m_wield_mesh_next = NULL;
|
||||
}
|
||||
|
||||
if (m_view_bobbing_state != 0)
|
||||
{
|
||||
//f32 offset = dtime * m_view_bobbing_speed * 0.035;
|
||||
@@ -218,6 +249,8 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize,
|
||||
// Smooth the movement when walking up stairs
|
||||
v3f old_player_position = m_playernode->getPosition();
|
||||
v3f player_position = player->getPosition();
|
||||
if (player->isAttached && player->parent)
|
||||
player_position = player->parent->getPosition();
|
||||
//if(player->touching_ground && player_position.Y > old_player_position.Y)
|
||||
if(player->touching_ground &&
|
||||
player_position.Y > old_player_position.Y)
|
||||
@@ -233,11 +266,30 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize,
|
||||
m_playernode->setRotation(v3f(0, -1 * player->getYaw(), 0));
|
||||
m_playernode->updateAbsolutePosition();
|
||||
|
||||
//Get camera tilt timer (hurt animation)
|
||||
// Get camera tilt timer (hurt animation)
|
||||
float cameratilt = fabs(fabs(player->hurt_tilt_timer-0.75)-0.75);
|
||||
|
||||
// Fall bobbing animation
|
||||
float fall_bobbing = 0;
|
||||
if(player->camera_impact >= 1)
|
||||
{
|
||||
if(m_view_bobbing_fall == -1) // Effect took place and has finished
|
||||
player->camera_impact = m_view_bobbing_fall = 0;
|
||||
else if(m_view_bobbing_fall == 0) // Initialize effect
|
||||
m_view_bobbing_fall = 1;
|
||||
|
||||
// Convert 0 -> 1 to 0 -> 1 -> 0
|
||||
fall_bobbing = m_view_bobbing_fall < 0.5 ? m_view_bobbing_fall * 2 : -(m_view_bobbing_fall - 0.5) * 2 + 1;
|
||||
// Smoothen and invert the above
|
||||
fall_bobbing = sin(fall_bobbing * 0.5 * M_PI) * -1;
|
||||
// Amplify according to the intensity of the impact
|
||||
fall_bobbing *= (1 - rangelim(50 / player->camera_impact, 0, 1)) * 5;
|
||||
|
||||
fall_bobbing *= g_settings->getFloat("fall_bobbing_amount");
|
||||
}
|
||||
|
||||
// Set head node transformation
|
||||
m_headnode->setPosition(player->getEyeOffset()+v3f(0,cameratilt*-player->hurt_tilt_strength,0));
|
||||
m_headnode->setPosition(player->getEyeOffset()+v3f(0,cameratilt*-player->hurt_tilt_strength+fall_bobbing,0));
|
||||
m_headnode->setRotation(v3f(player->getPitch(), 0, cameratilt*player->hurt_tilt_strength));
|
||||
m_headnode->updateAbsolutePosition();
|
||||
|
||||
@@ -311,8 +363,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize,
|
||||
m_fov_y = fov_degrees * M_PI / 180.0;
|
||||
// Increase vertical FOV on lower aspect ratios (<16:10)
|
||||
m_fov_y *= MYMAX(1.0, MYMIN(1.4, sqrt(16./10. / m_aspect)));
|
||||
// WTF is this? It can't be right
|
||||
m_fov_x = 2 * atan(0.5 * m_aspect * tan(m_fov_y));
|
||||
m_fov_x = 2 * atan(m_aspect * tan(0.5 * m_fov_y));
|
||||
m_cameranode->setAspectRatio(m_aspect);
|
||||
m_cameranode->setFOV(m_fov_y);
|
||||
|
||||
@@ -321,6 +372,10 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize,
|
||||
v3f wield_position = v3f(55, -35, 65);
|
||||
//v3f wield_rotation = v3f(-100, 120, -100);
|
||||
v3f wield_rotation = v3f(-100, 120, -100);
|
||||
if(m_wield_change_timer < 0)
|
||||
wield_position.Y -= 40 + m_wield_change_timer*320;
|
||||
else
|
||||
wield_position.Y -= 40 - m_wield_change_timer*320;
|
||||
if(m_digging_anim < 0.05 || m_digging_anim > 0.5){
|
||||
f32 frac = 1.0;
|
||||
if(m_digging_anim > 0.5)
|
||||
@@ -529,18 +584,34 @@ void Camera::setDigging(s32 button)
|
||||
m_digging_button = button;
|
||||
}
|
||||
|
||||
void Camera::wield(const ItemStack &item)
|
||||
void Camera::wield(const ItemStack &item, u16 playeritem)
|
||||
{
|
||||
IItemDefManager *idef = m_gamedef->idef();
|
||||
scene::IMesh *wield_mesh = idef->getWieldMesh(item.getDefinition(idef).name, m_gamedef);
|
||||
if(wield_mesh)
|
||||
{
|
||||
m_wieldnode->setMesh(wield_mesh);
|
||||
m_wieldnode->setVisible(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_wieldnode->setVisible(false);
|
||||
std::string itemname = item.getDefinition(idef).name;
|
||||
m_wield_mesh_next = idef->getWieldMesh(itemname, m_gamedef);
|
||||
if(playeritem != m_previous_playeritem &&
|
||||
!(m_previous_itemname == "" && itemname == "")) {
|
||||
m_previous_playeritem = playeritem;
|
||||
m_previous_itemname = itemname;
|
||||
if(m_wield_change_timer >= 0.125)
|
||||
m_wield_change_timer = -0.125;
|
||||
else if(m_wield_change_timer > 0) {
|
||||
m_wield_change_timer = -m_wield_change_timer;
|
||||
}
|
||||
} else {
|
||||
if(m_wield_mesh_next) {
|
||||
m_wieldnode->setMesh(m_wield_mesh_next);
|
||||
m_wieldnode->setVisible(true);
|
||||
} else {
|
||||
m_wieldnode->setVisible(false);
|
||||
}
|
||||
m_wield_mesh_next = NULL;
|
||||
if(m_previous_itemname != itemname) {
|
||||
m_previous_itemname = itemname;
|
||||
m_wield_change_timer = 0;
|
||||
}
|
||||
else
|
||||
m_wield_change_timer = 0.125;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
13
src/camera.h
13
src/camera.h
@@ -117,7 +117,7 @@ class Camera
|
||||
void setDigging(s32 button);
|
||||
|
||||
// Replace the wielded item mesh
|
||||
void wield(const ItemStack &item);
|
||||
void wield(const ItemStack &item, u16 playeritem);
|
||||
|
||||
// Draw the wielded tool.
|
||||
// This has to happen *after* the main scene is drawn.
|
||||
@@ -166,6 +166,8 @@ class Camera
|
||||
s32 m_view_bobbing_state;
|
||||
// Speed of view bobbing animation
|
||||
f32 m_view_bobbing_speed;
|
||||
// Fall view bobbing
|
||||
f32 m_view_bobbing_fall;
|
||||
|
||||
// Digging animation frame (0 <= m_digging_anim < 1)
|
||||
f32 m_digging_anim;
|
||||
@@ -173,6 +175,15 @@ class Camera
|
||||
// If 0, left-click digging animation
|
||||
// If 1, right-click digging animation
|
||||
s32 m_digging_button;
|
||||
|
||||
//dummymesh for camera
|
||||
irr::scene::IAnimatedMesh* m_dummymesh;
|
||||
|
||||
// Animation when changing wielded item
|
||||
f32 m_wield_change_timer;
|
||||
scene::IMesh *m_wield_mesh_next;
|
||||
u16 m_previous_playeritem;
|
||||
std::string m_previous_itemname;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
533
src/cavegen.cpp
Normal file
533
src/cavegen.cpp
Normal file
@@ -0,0 +1,533 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "util/numeric.h"
|
||||
#include "map.h"
|
||||
#include "mapgen.h"
|
||||
#include "mapgen_v6.h"
|
||||
#include "mapgen_v7.h"
|
||||
#include "cavegen.h"
|
||||
|
||||
|
||||
CaveV6::CaveV6(MapgenV6 *mg, PseudoRandom *ps, PseudoRandom *ps2, bool is_large_cave) {
|
||||
this->mg = mg;
|
||||
this->vm = mg->vm;
|
||||
this->ndef = mg->ndef;
|
||||
this->water_level = mg->water_level;
|
||||
this->large_cave = is_large_cave;
|
||||
this->ps = ps;
|
||||
this->ps2 = ps2;
|
||||
this->c_water_source = mg->c_water_source;
|
||||
this->c_lava_source = mg->c_lava_source;
|
||||
|
||||
min_tunnel_diameter = 2;
|
||||
max_tunnel_diameter = ps->range(2, 6);
|
||||
dswitchint = ps->range(1, 14);
|
||||
flooded = true;
|
||||
|
||||
if (large_cave) {
|
||||
part_max_length_rs = ps->range(2,4);
|
||||
tunnel_routepoints = ps->range(5, ps->range(15,30));
|
||||
min_tunnel_diameter = 5;
|
||||
max_tunnel_diameter = ps->range(7, ps->range(8,24));
|
||||
} else {
|
||||
part_max_length_rs = ps->range(2,9);
|
||||
tunnel_routepoints = ps->range(10, ps->range(15,30));
|
||||
}
|
||||
|
||||
large_cave_is_flat = (ps->range(0,1) == 0);
|
||||
}
|
||||
|
||||
|
||||
void CaveV6::makeCave(v3s16 nmin, v3s16 nmax, int max_stone_height) {
|
||||
node_min = nmin;
|
||||
node_max = nmax;
|
||||
max_stone_y = max_stone_height;
|
||||
main_direction = v3f(0, 0, 0);
|
||||
|
||||
// Allowed route area size in nodes
|
||||
ar = node_max - node_min + v3s16(1, 1, 1);
|
||||
// Area starting point in nodes
|
||||
of = node_min;
|
||||
|
||||
// Allow a bit more
|
||||
//(this should be more than the maximum radius of the tunnel)
|
||||
const s16 max_spread_amount = MAP_BLOCKSIZE;
|
||||
s16 insure = 10;
|
||||
s16 more = max_spread_amount - max_tunnel_diameter / 2 - insure;
|
||||
ar += v3s16(1,0,1) * more * 2;
|
||||
of -= v3s16(1,0,1) * more;
|
||||
|
||||
route_y_min = 0;
|
||||
// Allow half a diameter + 7 over stone surface
|
||||
route_y_max = -of.Y + max_stone_y + max_tunnel_diameter / 2 + 7;
|
||||
|
||||
// Limit maximum to area
|
||||
route_y_max = rangelim(route_y_max, 0, ar.Y - 1);
|
||||
|
||||
if (large_cave) {
|
||||
s16 min = 0;
|
||||
if (node_min.Y < water_level && node_max.Y > water_level) {
|
||||
min = water_level - max_tunnel_diameter/3 - of.Y;
|
||||
route_y_max = water_level + max_tunnel_diameter/3 - of.Y;
|
||||
}
|
||||
route_y_min = ps->range(min, min + max_tunnel_diameter);
|
||||
route_y_min = rangelim(route_y_min, 0, route_y_max);
|
||||
}
|
||||
|
||||
s16 route_start_y_min = route_y_min;
|
||||
s16 route_start_y_max = route_y_max;
|
||||
|
||||
route_start_y_min = rangelim(route_start_y_min, 0, ar.Y-1);
|
||||
route_start_y_max = rangelim(route_start_y_max, route_start_y_min, ar.Y-1);
|
||||
|
||||
// Randomize starting position
|
||||
orp = v3f(
|
||||
(float)(ps->next() % ar.X) + 0.5,
|
||||
(float)(ps->range(route_start_y_min, route_start_y_max)) + 0.5,
|
||||
(float)(ps->next() % ar.Z) + 0.5
|
||||
);
|
||||
|
||||
// Generate some tunnel starting from orp
|
||||
for (u16 j = 0; j < tunnel_routepoints; j++)
|
||||
makeTunnel(j % dswitchint == 0);
|
||||
}
|
||||
|
||||
|
||||
void CaveV6::makeTunnel(bool dirswitch) {
|
||||
if (dirswitch && !large_cave) {
|
||||
main_direction = v3f(
|
||||
((float)(ps->next() % 20) - (float)10) / 10,
|
||||
((float)(ps->next() % 20) - (float)10) / 30,
|
||||
((float)(ps->next() % 20) - (float)10) / 10
|
||||
);
|
||||
main_direction *= (float)ps->range(0, 10) / 10;
|
||||
}
|
||||
|
||||
// Randomize size
|
||||
s16 min_d = min_tunnel_diameter;
|
||||
s16 max_d = max_tunnel_diameter;
|
||||
rs = ps->range(min_d, max_d);
|
||||
|
||||
v3s16 maxlen;
|
||||
if (large_cave) {
|
||||
maxlen = v3s16(
|
||||
rs * part_max_length_rs,
|
||||
rs * part_max_length_rs / 2,
|
||||
rs * part_max_length_rs
|
||||
);
|
||||
} else {
|
||||
maxlen = v3s16(
|
||||
rs * part_max_length_rs,
|
||||
ps->range(1, rs * part_max_length_rs),
|
||||
rs * part_max_length_rs
|
||||
);
|
||||
}
|
||||
|
||||
v3f vec(
|
||||
(float)(ps->next() % (maxlen.X * 1)) - (float)maxlen.X / 2,
|
||||
(float)(ps->next() % (maxlen.Y * 1)) - (float)maxlen.Y / 2,
|
||||
(float)(ps->next() % (maxlen.Z * 1)) - (float)maxlen.Z / 2
|
||||
);
|
||||
|
||||
// Jump downward sometimes
|
||||
if (!large_cave && ps->range(0, 12) == 0) {
|
||||
vec = v3f(
|
||||
(float)(ps->next() % (maxlen.X * 1)) - (float)maxlen.X / 2,
|
||||
(float)(ps->next() % (maxlen.Y * 2)) - (float)maxlen.Y,
|
||||
(float)(ps->next() % (maxlen.Z * 1)) - (float)maxlen.Z / 2
|
||||
);
|
||||
}
|
||||
|
||||
vec += main_direction;
|
||||
|
||||
v3f rp = orp + vec;
|
||||
if (rp.X < 0)
|
||||
rp.X = 0;
|
||||
else if (rp.X >= ar.X)
|
||||
rp.X = ar.X - 1;
|
||||
|
||||
if (rp.Y < route_y_min)
|
||||
rp.Y = route_y_min;
|
||||
else if (rp.Y >= route_y_max)
|
||||
rp.Y = route_y_max - 1;
|
||||
|
||||
if (rp.Z < 0)
|
||||
rp.Z = 0;
|
||||
else if (rp.Z >= ar.Z)
|
||||
rp.Z = ar.Z - 1;
|
||||
|
||||
vec = rp - orp;
|
||||
|
||||
float veclen = vec.getLength();
|
||||
// As odd as it sounds, veclen is *exactly* 0.0 sometimes, causing a FPE
|
||||
if (veclen < 0.05)
|
||||
veclen = 1.0;
|
||||
|
||||
// Every second section is rough
|
||||
bool randomize_xz = (ps2->range(1, 2) == 1);
|
||||
|
||||
// Carve routes
|
||||
for (float f = 0; f < 1.0; f += 1.0 / veclen)
|
||||
carveRoute(vec, f, randomize_xz);
|
||||
|
||||
orp = rp;
|
||||
}
|
||||
|
||||
|
||||
void CaveV6::carveRoute(v3f vec, float f, bool randomize_xz) {
|
||||
MapNode airnode(CONTENT_AIR);
|
||||
MapNode waternode(c_water_source);
|
||||
MapNode lavanode(c_lava_source);
|
||||
|
||||
v3s16 startp(orp.X, orp.Y, orp.Z);
|
||||
startp += of;
|
||||
|
||||
v3f fp = orp + vec * f;
|
||||
fp.X += 0.1 * ps->range(-10, 10);
|
||||
fp.Z += 0.1 * ps->range(-10, 10);
|
||||
v3s16 cp(fp.X, fp.Y, fp.Z);
|
||||
|
||||
s16 d0 = -rs/2;
|
||||
s16 d1 = d0 + rs;
|
||||
if (randomize_xz) {
|
||||
d0 += ps->range(-1, 1);
|
||||
d1 += ps->range(-1, 1);
|
||||
}
|
||||
|
||||
for (s16 z0 = d0; z0 <= d1; z0++) {
|
||||
s16 si = rs / 2 - MYMAX(0, abs(z0) - rs / 7 - 1);
|
||||
for (s16 x0 = -si - ps->range(0,1); x0 <= si - 1 + ps->range(0,1); x0++) {
|
||||
s16 maxabsxz = MYMAX(abs(x0), abs(z0));
|
||||
s16 si2 = rs / 2 - MYMAX(0, maxabsxz - rs / 7 - 1);
|
||||
for (s16 y0 = -si2; y0 <= si2; y0++) {
|
||||
if (large_cave_is_flat) {
|
||||
// Make large caves not so tall
|
||||
if (rs > 7 && abs(y0) >= rs / 3)
|
||||
continue;
|
||||
}
|
||||
|
||||
v3s16 p(cp.X + x0, cp.Y + y0, cp.Z + z0);
|
||||
p += of;
|
||||
|
||||
if (vm->m_area.contains(p) == false)
|
||||
continue;
|
||||
|
||||
u32 i = vm->m_area.index(p);
|
||||
|
||||
if (large_cave) {
|
||||
int full_ymin = node_min.Y - MAP_BLOCKSIZE;
|
||||
int full_ymax = node_max.Y + MAP_BLOCKSIZE;
|
||||
|
||||
if (flooded && full_ymin < water_level && full_ymax > water_level) {
|
||||
vm->m_data[i] = (p.Y <= water_level) ? waternode : airnode;
|
||||
} else if (flooded && full_ymax < water_level) {
|
||||
vm->m_data[i] = (p.Y < startp.Y - 2) ? lavanode : airnode;
|
||||
} else {
|
||||
vm->m_data[i] = airnode;
|
||||
}
|
||||
} else {
|
||||
// Don't replace air or water or lava or ignore
|
||||
content_t c = vm->m_data[i].getContent();
|
||||
if (c == CONTENT_IGNORE || c == CONTENT_AIR ||
|
||||
c == c_water_source || c == c_lava_source)
|
||||
continue;
|
||||
|
||||
vm->m_data[i] = airnode;
|
||||
vm->m_flags[i] |= VMANIP_FLAG_CAVE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////// Caves V7
|
||||
|
||||
CaveV7::CaveV7(MapgenV7 *mg, PseudoRandom *ps, bool is_large_cave) {
|
||||
this->mg = mg;
|
||||
this->vm = mg->vm;
|
||||
this->ndef = mg->ndef;
|
||||
this->water_level = mg->water_level;
|
||||
this->large_cave = is_large_cave;
|
||||
this->ps = ps;
|
||||
this->c_water_source = mg->c_water_source;
|
||||
this->c_lava_source = mg->c_lava_source;
|
||||
|
||||
dswitchint = ps->range(1, 14);
|
||||
flooded = ps->range(1, 2) == 2;
|
||||
|
||||
if (large_cave) {
|
||||
part_max_length_rs = ps->range(2, 4);
|
||||
tunnel_routepoints = ps->range(5, ps->range(15, 30));
|
||||
min_tunnel_diameter = 5;
|
||||
max_tunnel_diameter = ps->range(7, ps->range(8, 24));
|
||||
} else {
|
||||
part_max_length_rs = ps->range(2, 9);
|
||||
tunnel_routepoints = ps->range(10, ps->range(15, 30));
|
||||
min_tunnel_diameter = 2;
|
||||
max_tunnel_diameter = ps->range(2, 6);
|
||||
}
|
||||
|
||||
large_cave_is_flat = (ps->range(0, 1) == 0);
|
||||
}
|
||||
|
||||
|
||||
void CaveV7::makeCave(v3s16 nmin, v3s16 nmax, int max_stone_height) {
|
||||
node_min = nmin;
|
||||
node_max = nmax;
|
||||
max_stone_y = max_stone_height;
|
||||
main_direction = v3f(0, 0, 0);
|
||||
|
||||
// Allowed route area size in nodes
|
||||
ar = node_max - node_min + v3s16(1, 1, 1);
|
||||
// Area starting point in nodes
|
||||
of = node_min;
|
||||
|
||||
// Allow a bit more
|
||||
//(this should be more than the maximum radius of the tunnel)
|
||||
s16 insure = 10;
|
||||
s16 more = MAP_BLOCKSIZE - max_tunnel_diameter / 2 - insure;
|
||||
ar += v3s16(1,0,1) * more * 2;
|
||||
of -= v3s16(1,0,1) * more;
|
||||
|
||||
route_y_min = 0;
|
||||
// Allow half a diameter + 7 over stone surface
|
||||
route_y_max = -of.Y + max_stone_y + max_tunnel_diameter / 2 + 7;
|
||||
|
||||
// Limit maximum to area
|
||||
route_y_max = rangelim(route_y_max, 0, ar.Y - 1);
|
||||
|
||||
if (large_cave) {
|
||||
s16 min = 0;
|
||||
if (node_min.Y < water_level && node_max.Y > water_level) {
|
||||
min = water_level - max_tunnel_diameter/3 - of.Y;
|
||||
route_y_max = water_level + max_tunnel_diameter/3 - of.Y;
|
||||
}
|
||||
route_y_min = ps->range(min, min + max_tunnel_diameter);
|
||||
route_y_min = rangelim(route_y_min, 0, route_y_max);
|
||||
}
|
||||
|
||||
s16 route_start_y_min = route_y_min;
|
||||
s16 route_start_y_max = route_y_max;
|
||||
|
||||
route_start_y_min = rangelim(route_start_y_min, 0, ar.Y - 1);
|
||||
route_start_y_max = rangelim(route_start_y_max, route_start_y_min, ar.Y - 1);
|
||||
|
||||
// Randomize starting position
|
||||
orp = v3f(
|
||||
(float)(ps->next() % ar.X) + 0.5,
|
||||
(float)(ps->range(route_start_y_min, route_start_y_max)) + 0.5,
|
||||
(float)(ps->next() % ar.Z) + 0.5
|
||||
);
|
||||
|
||||
// Generate some tunnel starting from orp
|
||||
for (u16 j = 0; j < tunnel_routepoints; j++)
|
||||
makeTunnel(j % dswitchint == 0);
|
||||
}
|
||||
|
||||
|
||||
void CaveV7::makeTunnel(bool dirswitch) {
|
||||
if (dirswitch && !large_cave) {
|
||||
main_direction = v3f(
|
||||
((float)(ps->next() % 20) - (float)10) / 10,
|
||||
((float)(ps->next() % 20) - (float)10) / 30,
|
||||
((float)(ps->next() % 20) - (float)10) / 10
|
||||
);
|
||||
main_direction *= (float)ps->range(0, 10) / 10;
|
||||
}
|
||||
|
||||
// Randomize size
|
||||
s16 min_d = min_tunnel_diameter;
|
||||
s16 max_d = max_tunnel_diameter;
|
||||
rs = ps->range(min_d, max_d);
|
||||
|
||||
v3s16 maxlen;
|
||||
if (large_cave) {
|
||||
maxlen = v3s16(
|
||||
rs * part_max_length_rs,
|
||||
rs * part_max_length_rs / 2,
|
||||
rs * part_max_length_rs
|
||||
);
|
||||
} else {
|
||||
maxlen = v3s16(
|
||||
rs * part_max_length_rs,
|
||||
ps->range(1, rs * part_max_length_rs),
|
||||
rs * part_max_length_rs
|
||||
);
|
||||
}
|
||||
|
||||
v3f vec;
|
||||
// Jump downward sometimes
|
||||
if (!large_cave && ps->range(0, 12) == 0) {
|
||||
vec = v3f(
|
||||
(float)(ps->next() % (maxlen.X * 1)) - (float)maxlen.X / 2,
|
||||
(float)(ps->next() % (maxlen.Y * 2)) - (float)maxlen.Y,
|
||||
(float)(ps->next() % (maxlen.Z * 1)) - (float)maxlen.Z / 2
|
||||
);
|
||||
} else {
|
||||
vec = v3f(
|
||||
(float)(ps->next() % (maxlen.X * 1)) - (float)maxlen.X / 2,
|
||||
(float)(ps->next() % (maxlen.Y * 1)) - (float)maxlen.Y / 2,
|
||||
(float)(ps->next() % (maxlen.Z * 1)) - (float)maxlen.Z / 2
|
||||
);
|
||||
}
|
||||
|
||||
// Do not make large caves that are above ground.
|
||||
// It is only necessary to check the startpoint and endpoint.
|
||||
if (large_cave) {
|
||||
v3s16 orpi(orp.X, orp.Y, orp.Z);
|
||||
v3s16 veci(vec.X, vec.Y, vec.Z);
|
||||
v3s16 p;
|
||||
|
||||
p = orpi + veci + of + rs / 2;
|
||||
if (p.Z >= node_min.Z && p.Z <= node_max.Z &&
|
||||
p.X >= node_min.X && p.X <= node_max.X) {
|
||||
u32 index = (p.Z - node_min.Z) * mg->ystride + (p.X - node_min.X);
|
||||
s16 h = mg->ridge_heightmap[index];
|
||||
if (h < p.Y)
|
||||
return;
|
||||
} else if (p.Y > water_level) {
|
||||
return; // If it's not in our heightmap, use a simple heuristic
|
||||
}
|
||||
|
||||
p = orpi + of + rs / 2;
|
||||
if (p.Z >= node_min.Z && p.Z <= node_max.Z &&
|
||||
p.X >= node_min.X && p.X <= node_max.X) {
|
||||
u32 index = (p.Z - node_min.Z) * mg->ystride + (p.X - node_min.X);
|
||||
s16 h = mg->ridge_heightmap[index];
|
||||
if (h < p.Y)
|
||||
return;
|
||||
} else if (p.Y > water_level) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
vec += main_direction;
|
||||
|
||||
v3f rp = orp + vec;
|
||||
if (rp.X < 0)
|
||||
rp.X = 0;
|
||||
else if (rp.X >= ar.X)
|
||||
rp.X = ar.X - 1;
|
||||
|
||||
if (rp.Y < route_y_min)
|
||||
rp.Y = route_y_min;
|
||||
else if (rp.Y >= route_y_max)
|
||||
rp.Y = route_y_max - 1;
|
||||
|
||||
if (rp.Z < 0)
|
||||
rp.Z = 0;
|
||||
else if (rp.Z >= ar.Z)
|
||||
rp.Z = ar.Z - 1;
|
||||
|
||||
vec = rp - orp;
|
||||
|
||||
float veclen = vec.getLength();
|
||||
if (veclen < 0.05)
|
||||
veclen = 1.0;
|
||||
|
||||
// Every second section is rough
|
||||
bool randomize_xz = (ps->range(1, 2) == 1);
|
||||
|
||||
// Make a ravine every once in a while if it's long enough
|
||||
float xylen = vec.X * vec.X + vec.Z * vec.Z;
|
||||
bool is_ravine = (xylen > 500.0) && !large_cave && (ps->range(1, 8) == 1);
|
||||
|
||||
// Carve routes
|
||||
for (float f = 0; f < 1.0; f += 1.0 / veclen)
|
||||
carveRoute(vec, f, randomize_xz, is_ravine);
|
||||
|
||||
orp = rp;
|
||||
}
|
||||
|
||||
|
||||
void CaveV7::carveRoute(v3f vec, float f, bool randomize_xz, bool is_ravine) {
|
||||
MapNode airnode(CONTENT_AIR);
|
||||
MapNode waternode(c_water_source);
|
||||
MapNode lavanode(c_lava_source);
|
||||
MapNode liquidnode = ps->range(0, 4) ? lavanode : waternode;
|
||||
|
||||
v3s16 startp(orp.X, orp.Y, orp.Z);
|
||||
startp += of;
|
||||
|
||||
v3f fp = orp + vec * f;
|
||||
fp.X += 0.1 * ps->range(-10, 10);
|
||||
fp.Z += 0.1 * ps->range(-10, 10);
|
||||
v3s16 cp(fp.X, fp.Y, fp.Z);
|
||||
|
||||
s16 d0 = -rs/2;
|
||||
s16 d1 = d0 + rs;
|
||||
if (randomize_xz) {
|
||||
d0 += ps->range(-1, 1);
|
||||
d1 += ps->range(-1, 1);
|
||||
}
|
||||
|
||||
bool flat_cave_floor = !large_cave && ps->range(0, 2) == 2;
|
||||
|
||||
for (s16 z0 = d0; z0 <= d1; z0++) {
|
||||
s16 si = rs / 2 - MYMAX(0, abs(z0) - rs / 7 - 1);
|
||||
for (s16 x0 = -si - ps->range(0,1); x0 <= si - 1 + ps->range(0,1); x0++) {
|
||||
s16 maxabsxz = MYMAX(abs(x0), abs(z0));
|
||||
|
||||
s16 si2 = is_ravine ? MYMIN(ps->range(25, 26), ar.Y) :
|
||||
rs / 2 - MYMAX(0, maxabsxz - rs / 7 - 1);
|
||||
|
||||
for (s16 y0 = -si2; y0 <= si2; y0++) {
|
||||
// Make better floors in small caves
|
||||
if(flat_cave_floor && y0 <= -rs/2 && rs<=7)
|
||||
continue;
|
||||
|
||||
if (large_cave_is_flat) {
|
||||
// Make large caves not so tall
|
||||
if (rs > 7 && abs(y0) >= rs / 3)
|
||||
continue;
|
||||
}
|
||||
|
||||
v3s16 p(cp.X + x0, cp.Y + y0, cp.Z + z0);
|
||||
p += of;
|
||||
|
||||
if (vm->m_area.contains(p) == false)
|
||||
continue;
|
||||
|
||||
u32 i = vm->m_area.index(p);
|
||||
|
||||
// Don't replace air or water or lava
|
||||
content_t c = vm->m_data[i].getContent();
|
||||
if (c == CONTENT_AIR || c == c_water_source || c == c_lava_source)
|
||||
continue;
|
||||
|
||||
if (large_cave) {
|
||||
int full_ymin = node_min.Y - MAP_BLOCKSIZE;
|
||||
int full_ymax = node_max.Y + MAP_BLOCKSIZE;
|
||||
|
||||
if (flooded && full_ymin < water_level && full_ymax > water_level)
|
||||
vm->m_data[i] = (p.Y <= water_level) ? waternode : airnode;
|
||||
else if (flooded && full_ymax < water_level)
|
||||
vm->m_data[i] = (p.Y < startp.Y - 4) ? liquidnode : airnode;
|
||||
else
|
||||
vm->m_data[i] = airnode;
|
||||
} else {
|
||||
vm->m_data[i] = airnode;
|
||||
vm->m_flags[i] |= VMANIP_FLAG_CAVE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
115
src/cavegen.h
Normal file
115
src/cavegen.h
Normal file
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef CAVEGEN_HEADER
|
||||
#define CAVEGEN_HEADER
|
||||
|
||||
#define VMANIP_FLAG_CAVE VOXELFLAG_CHECKED1
|
||||
|
||||
class MapgenV6;
|
||||
class MapgenV7;
|
||||
|
||||
class CaveV6 {
|
||||
public:
|
||||
MapgenV6 *mg;
|
||||
ManualMapVoxelManipulator *vm;
|
||||
INodeDefManager *ndef;
|
||||
|
||||
s16 min_tunnel_diameter;
|
||||
s16 max_tunnel_diameter;
|
||||
u16 tunnel_routepoints;
|
||||
int dswitchint;
|
||||
int part_max_length_rs;
|
||||
|
||||
bool large_cave;
|
||||
bool large_cave_is_flat;
|
||||
bool flooded;
|
||||
|
||||
s16 max_stone_y;
|
||||
v3s16 node_min;
|
||||
v3s16 node_max;
|
||||
|
||||
v3f orp; // starting point, relative to caved space
|
||||
v3s16 of; // absolute coordinates of caved space
|
||||
v3s16 ar; // allowed route area
|
||||
s16 rs; // tunnel radius size
|
||||
v3f main_direction;
|
||||
|
||||
s16 route_y_min;
|
||||
s16 route_y_max;
|
||||
|
||||
PseudoRandom *ps;
|
||||
PseudoRandom *ps2;
|
||||
|
||||
content_t c_water_source;
|
||||
content_t c_lava_source;
|
||||
|
||||
int water_level;
|
||||
|
||||
CaveV6() {}
|
||||
CaveV6(MapgenV6 *mg, PseudoRandom *ps, PseudoRandom *ps2, bool large_cave);
|
||||
void makeCave(v3s16 nmin, v3s16 nmax, int max_stone_height);
|
||||
void makeTunnel(bool dirswitch);
|
||||
void carveRoute(v3f vec, float f, bool randomize_xz);
|
||||
};
|
||||
|
||||
class CaveV7 {
|
||||
public:
|
||||
MapgenV7 *mg;
|
||||
ManualMapVoxelManipulator *vm;
|
||||
INodeDefManager *ndef;
|
||||
|
||||
s16 min_tunnel_diameter;
|
||||
s16 max_tunnel_diameter;
|
||||
u16 tunnel_routepoints;
|
||||
int dswitchint;
|
||||
int part_max_length_rs;
|
||||
|
||||
bool large_cave;
|
||||
bool large_cave_is_flat;
|
||||
bool flooded;
|
||||
|
||||
s16 max_stone_y;
|
||||
v3s16 node_min;
|
||||
v3s16 node_max;
|
||||
|
||||
v3f orp; // starting point, relative to caved space
|
||||
v3s16 of; // absolute coordinates of caved space
|
||||
v3s16 ar; // allowed route area
|
||||
s16 rs; // tunnel radius size
|
||||
v3f main_direction;
|
||||
|
||||
s16 route_y_min;
|
||||
s16 route_y_max;
|
||||
|
||||
PseudoRandom *ps;
|
||||
|
||||
content_t c_water_source;
|
||||
content_t c_lava_source;
|
||||
|
||||
int water_level;
|
||||
|
||||
CaveV7() {}
|
||||
CaveV7(MapgenV7 *mg, PseudoRandom *ps, bool large_cave);
|
||||
void makeCave(v3s16 nmin, v3s16 nmax, int max_stone_height);
|
||||
void makeTunnel(bool dirswitch);
|
||||
void carveRoute(v3f vec, float f, bool randomize_xz, bool is_ravine);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -464,7 +464,7 @@ void ChatPrompt::historyNext()
|
||||
}
|
||||
}
|
||||
|
||||
void ChatPrompt::nickCompletion(const std::list<std::wstring>& names, bool backwards)
|
||||
void ChatPrompt::nickCompletion(const std::list<std::string>& names, bool backwards)
|
||||
{
|
||||
// Two cases:
|
||||
// (a) m_nick_completion_start == m_nick_completion_end == 0
|
||||
@@ -493,13 +493,13 @@ void ChatPrompt::nickCompletion(const std::list<std::wstring>& names, bool backw
|
||||
|
||||
// find all names that start with the selected prefix
|
||||
std::vector<std::wstring> completions;
|
||||
for (std::list<std::wstring>::const_iterator
|
||||
for (std::list<std::string>::const_iterator
|
||||
i = names.begin();
|
||||
i != names.end(); ++i)
|
||||
{
|
||||
if (str_starts_with(*i, prefix, true))
|
||||
if (str_starts_with(narrow_to_wide(*i), prefix, true))
|
||||
{
|
||||
std::wstring completion = *i;
|
||||
std::wstring completion = narrow_to_wide(*i);
|
||||
if (prefix_start == 0)
|
||||
completion += L":";
|
||||
completions.push_back(completion);
|
||||
|
||||
@@ -160,7 +160,7 @@ class ChatPrompt
|
||||
void historyNext();
|
||||
|
||||
// Nick completion
|
||||
void nickCompletion(const std::list<std::wstring>& names, bool backwards);
|
||||
void nickCompletion(const std::list<std::string>& names, bool backwards);
|
||||
|
||||
// Update console size and reformat the visible portion of the prompt
|
||||
void reformat(u32 cols);
|
||||
|
||||
194
src/client.cpp
194
src/client.cpp
@@ -29,6 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "mapblock.h"
|
||||
#include "settings.h"
|
||||
#include "profiler.h"
|
||||
#include "gettext.h"
|
||||
#include "log.h"
|
||||
#include "nodemetadata.h"
|
||||
#include "nodedef.h"
|
||||
@@ -45,6 +46,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "IMeshCache.h"
|
||||
#include "util/serialize.h"
|
||||
#include "config.h"
|
||||
#include "util/directiontables.h"
|
||||
|
||||
#if USE_CURL
|
||||
#include <curl/curl.h>
|
||||
@@ -348,6 +350,11 @@ Client::~Client()
|
||||
m_mesh_update_thread.setRun(false);
|
||||
while(m_mesh_update_thread.IsRunning())
|
||||
sleep_ms(100);
|
||||
while(!m_mesh_update_thread.m_queue_out.empty()) {
|
||||
MeshUpdateResult r = m_mesh_update_thread.m_queue_out.pop_front();
|
||||
delete r.mesh;
|
||||
}
|
||||
|
||||
|
||||
delete m_inventory_from_server;
|
||||
|
||||
@@ -363,6 +370,15 @@ Client::~Client()
|
||||
for (std::list<MediaFetchThread*>::iterator i = m_media_fetch_threads.begin();
|
||||
i != m_media_fetch_threads.end(); ++i)
|
||||
delete *i;
|
||||
|
||||
// cleanup 3d model meshes on client shutdown
|
||||
while (m_device->getSceneManager()->getMeshCache()->getMeshCount() != 0) {
|
||||
scene::IAnimatedMesh * mesh =
|
||||
m_device->getSceneManager()->getMeshCache()->getMeshByIndex(0);
|
||||
|
||||
if (mesh != NULL)
|
||||
m_device->getSceneManager()->getMeshCache()->removeMesh(mesh);
|
||||
}
|
||||
}
|
||||
|
||||
void Client::connect(Address address)
|
||||
@@ -746,6 +762,8 @@ void Client::step(float dtime)
|
||||
|
||||
// Replace with the new mesh
|
||||
block->mesh = r.mesh;
|
||||
} else {
|
||||
delete r.mesh;
|
||||
}
|
||||
if(r.ack_block_to_server)
|
||||
{
|
||||
@@ -976,16 +994,28 @@ bool Client::loadMedia(const std::string &data, const std::string &filename)
|
||||
{
|
||||
verbosestream<<"Client: Storing model into Irrlicht: "
|
||||
<<"\""<<filename<<"\""<<std::endl;
|
||||
scene::ISceneManager *smgr = m_device->getSceneManager();
|
||||
|
||||
//check if mesh was already cached
|
||||
scene::IAnimatedMesh *mesh =
|
||||
smgr->getMeshCache()->getMeshByName(filename.c_str());
|
||||
|
||||
if (mesh != NULL) {
|
||||
errorstream << "Multiple models with name: " << filename.c_str() <<
|
||||
" found replacing previous model!" << std::endl;
|
||||
|
||||
smgr->getMeshCache()->removeMesh(mesh);
|
||||
mesh = 0;
|
||||
}
|
||||
|
||||
io::IFileSystem *irrfs = m_device->getFileSystem();
|
||||
io::IReadFile *rfile = irrfs->createMemoryReadFile(
|
||||
*data_rw, data_rw.getSize(), filename.c_str());
|
||||
assert(rfile);
|
||||
|
||||
scene::ISceneManager *smgr = m_device->getSceneManager();
|
||||
scene::IAnimatedMesh *mesh = smgr->getMesh(rfile);
|
||||
mesh = smgr->getMesh(rfile);
|
||||
smgr->getMeshCache()->addMesh(filename.c_str(), mesh);
|
||||
|
||||
rfile->drop();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1957,7 +1987,7 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
|
||||
|
||||
event.spawn_particle.expirationtime = expirationtime;
|
||||
event.spawn_particle.size = size;
|
||||
event.add_particlespawner.collisiondetection =
|
||||
event.spawn_particle.collisiondetection =
|
||||
collisiondetection;
|
||||
event.spawn_particle.texture = new std::string(texture);
|
||||
|
||||
@@ -2019,6 +2049,110 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
|
||||
|
||||
m_client_event_queue.push_back(event);
|
||||
}
|
||||
else if(command == TOCLIENT_HUDADD)
|
||||
{
|
||||
std::string datastring((char *)&data[2], datasize - 2);
|
||||
std::istringstream is(datastring, std::ios_base::binary);
|
||||
|
||||
u32 id = readU32(is);
|
||||
u8 type = readU8(is);
|
||||
v2f pos = readV2F1000(is);
|
||||
std::string name = deSerializeString(is);
|
||||
v2f scale = readV2F1000(is);
|
||||
std::string text = deSerializeString(is);
|
||||
u32 number = readU32(is);
|
||||
u32 item = readU32(is);
|
||||
u32 dir = readU32(is);
|
||||
v2f align = readV2F1000(is);
|
||||
v2f offset = readV2F1000(is);
|
||||
|
||||
ClientEvent event;
|
||||
event.type = CE_HUDADD;
|
||||
event.hudadd.id = id;
|
||||
event.hudadd.type = type;
|
||||
event.hudadd.pos = new v2f(pos);
|
||||
event.hudadd.name = new std::string(name);
|
||||
event.hudadd.scale = new v2f(scale);
|
||||
event.hudadd.text = new std::string(text);
|
||||
event.hudadd.number = number;
|
||||
event.hudadd.item = item;
|
||||
event.hudadd.dir = dir;
|
||||
event.hudadd.align = new v2f(align);
|
||||
event.hudadd.offset = new v2f(offset);
|
||||
m_client_event_queue.push_back(event);
|
||||
}
|
||||
else if(command == TOCLIENT_HUDRM)
|
||||
{
|
||||
std::string datastring((char *)&data[2], datasize - 2);
|
||||
std::istringstream is(datastring, std::ios_base::binary);
|
||||
|
||||
u32 id = readU32(is);
|
||||
|
||||
ClientEvent event;
|
||||
event.type = CE_HUDRM;
|
||||
event.hudrm.id = id;
|
||||
m_client_event_queue.push_back(event);
|
||||
}
|
||||
else if(command == TOCLIENT_HUDCHANGE)
|
||||
{
|
||||
std::string sdata;
|
||||
v2f v2fdata;
|
||||
u32 intdata = 0;
|
||||
|
||||
std::string datastring((char *)&data[2], datasize - 2);
|
||||
std::istringstream is(datastring, std::ios_base::binary);
|
||||
|
||||
u32 id = readU32(is);
|
||||
u8 stat = (HudElementStat)readU8(is);
|
||||
|
||||
if (stat == HUD_STAT_POS || stat == HUD_STAT_SCALE ||
|
||||
stat == HUD_STAT_ALIGN || stat == HUD_STAT_OFFSET)
|
||||
v2fdata = readV2F1000(is);
|
||||
else if (stat == HUD_STAT_NAME || stat == HUD_STAT_TEXT)
|
||||
sdata = deSerializeString(is);
|
||||
else
|
||||
intdata = readU32(is);
|
||||
|
||||
ClientEvent event;
|
||||
event.type = CE_HUDCHANGE;
|
||||
event.hudchange.id = id;
|
||||
event.hudchange.stat = (HudElementStat)stat;
|
||||
event.hudchange.v2fdata = new v2f(v2fdata);
|
||||
event.hudchange.sdata = new std::string(sdata);
|
||||
event.hudchange.data = intdata;
|
||||
m_client_event_queue.push_back(event);
|
||||
}
|
||||
else if(command == TOCLIENT_HUD_SET_FLAGS)
|
||||
{
|
||||
std::string datastring((char *)&data[2], datasize - 2);
|
||||
std::istringstream is(datastring, std::ios_base::binary);
|
||||
|
||||
Player *player = m_env.getLocalPlayer();
|
||||
assert(player != NULL);
|
||||
|
||||
u32 flags = readU32(is);
|
||||
u32 mask = readU32(is);
|
||||
|
||||
player->hud_flags &= ~mask;
|
||||
player->hud_flags |= flags;
|
||||
}
|
||||
else if(command == TOCLIENT_HUD_SET_PARAM)
|
||||
{
|
||||
std::string datastring((char *)&data[2], datasize - 2);
|
||||
std::istringstream is(datastring, std::ios_base::binary);
|
||||
|
||||
Player *player = m_env.getLocalPlayer();
|
||||
assert(player != NULL);
|
||||
|
||||
u16 param = readU16(is);
|
||||
std::string value = deSerializeString(is);
|
||||
|
||||
if(param == HUD_PARAM_HOTBAR_ITEMCOUNT && value.size() == 4){
|
||||
s32 hotbar_itemcount = readS32((u8*) value.c_str());
|
||||
if(hotbar_itemcount > 0 && hotbar_itemcount <= HUD_HOTBAR_ITEMCOUNT_MAX)
|
||||
player->hud_hotbar_itemcount = hotbar_itemcount;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
infostream<<"Client: Ignoring unknown command "
|
||||
@@ -2446,6 +2580,9 @@ void Client::inventoryAction(InventoryAction *a)
|
||||
Predict some local inventory changes
|
||||
*/
|
||||
a->clientApply(this, this);
|
||||
|
||||
// Remove it
|
||||
delete a;
|
||||
}
|
||||
|
||||
ClientActiveObject * Client::getSelectedActiveObject(
|
||||
@@ -2501,18 +2638,9 @@ void Client::printDebugInfo(std::ostream &os)
|
||||
<<std::endl;*/
|
||||
}
|
||||
|
||||
std::list<std::wstring> Client::getConnectedPlayerNames()
|
||||
std::list<std::string> Client::getConnectedPlayerNames()
|
||||
{
|
||||
std::list<Player*> players = m_env.getPlayers(true);
|
||||
std::list<std::wstring> playerNames;
|
||||
for(std::list<Player*>::iterator
|
||||
i = players.begin();
|
||||
i != players.end(); ++i)
|
||||
{
|
||||
Player *player = *i;
|
||||
playerNames.push_back(narrow_to_wide(player->getName()));
|
||||
}
|
||||
return playerNames;
|
||||
return m_env.getPlayerNames();
|
||||
}
|
||||
|
||||
float Client::getAnimationTime()
|
||||
@@ -2639,21 +2767,14 @@ void Client::addUpdateMeshTaskWithEdge(v3s16 blockpos, bool ack_to_server, bool
|
||||
}
|
||||
catch(InvalidPositionException &e){}
|
||||
// Leading edge
|
||||
try{
|
||||
v3s16 p = blockpos + v3s16(-1,0,0);
|
||||
addUpdateMeshTask(p, false, urgent);
|
||||
for (int i=0;i<6;i++)
|
||||
{
|
||||
try{
|
||||
v3s16 p = blockpos + g_6dirs[i];
|
||||
addUpdateMeshTask(p, false, urgent);
|
||||
}
|
||||
catch(InvalidPositionException &e){}
|
||||
}
|
||||
catch(InvalidPositionException &e){}
|
||||
try{
|
||||
v3s16 p = blockpos + v3s16(0,-1,0);
|
||||
addUpdateMeshTask(p, false, urgent);
|
||||
}
|
||||
catch(InvalidPositionException &e){}
|
||||
try{
|
||||
v3s16 p = blockpos + v3s16(0,0,-1);
|
||||
addUpdateMeshTask(p, false, urgent);
|
||||
}
|
||||
catch(InvalidPositionException &e){}
|
||||
}
|
||||
|
||||
void Client::addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server, bool urgent)
|
||||
@@ -2708,7 +2829,10 @@ ClientEvent Client::getClientEvent()
|
||||
return m_client_event_queue.pop_front();
|
||||
}
|
||||
|
||||
void Client::afterContentReceived()
|
||||
void draw_load_screen(const std::wstring &text,
|
||||
IrrlichtDevice* device, gui::IGUIFont* font,
|
||||
float dtime=0 ,int percent=0, bool clouds=true);
|
||||
void Client::afterContentReceived(IrrlichtDevice *device, gui::IGUIFont* font)
|
||||
{
|
||||
infostream<<"Client::afterContentReceived() started"<<std::endl;
|
||||
assert(m_itemdef_received);
|
||||
@@ -2743,13 +2867,23 @@ void Client::afterContentReceived()
|
||||
if(g_settings->getBool("preload_item_visuals"))
|
||||
{
|
||||
verbosestream<<"Updating item textures and meshes"<<std::endl;
|
||||
wchar_t* text = wgettext("Item textures...");
|
||||
draw_load_screen(text,device,font,0,0);
|
||||
std::set<std::string> names = m_itemdef->getAll();
|
||||
size_t size = names.size();
|
||||
size_t count = 0;
|
||||
int percent = 0;
|
||||
for(std::set<std::string>::const_iterator
|
||||
i = names.begin(); i != names.end(); ++i){
|
||||
// Asking for these caches the result
|
||||
m_itemdef->getInventoryTexture(*i, this);
|
||||
m_itemdef->getWieldMesh(*i, this);
|
||||
count++;
|
||||
percent = count*100/size;
|
||||
if (count%50 == 0) // only update every 50 item
|
||||
draw_load_screen(text,device,font,0,percent);
|
||||
}
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
// Start mesh update thread after setting up content definitions
|
||||
|
||||
36
src/client.h
36
src/client.h
@@ -160,7 +160,10 @@ enum ClientEventType
|
||||
CE_SHOW_FORMSPEC,
|
||||
CE_SPAWN_PARTICLE,
|
||||
CE_ADD_PARTICLESPAWNER,
|
||||
CE_DELETE_PARTICLESPAWNER
|
||||
CE_DELETE_PARTICLESPAWNER,
|
||||
CE_HUDADD,
|
||||
CE_HUDRM,
|
||||
CE_HUDCHANGE
|
||||
};
|
||||
|
||||
struct ClientEvent
|
||||
@@ -183,8 +186,8 @@ struct ClientEvent
|
||||
f32 camera_point_target_z;
|
||||
} deathscreen;
|
||||
struct{
|
||||
std::string* formspec;
|
||||
std::string* formname;
|
||||
std::string *formspec;
|
||||
std::string *formname;
|
||||
} show_formspec;
|
||||
struct{
|
||||
} textures_updated;
|
||||
@@ -217,6 +220,29 @@ struct ClientEvent
|
||||
struct{
|
||||
u32 id;
|
||||
} delete_particlespawner;
|
||||
struct{
|
||||
u32 id;
|
||||
u8 type;
|
||||
v2f *pos;
|
||||
std::string *name;
|
||||
v2f *scale;
|
||||
std::string *text;
|
||||
u32 number;
|
||||
u32 item;
|
||||
u32 dir;
|
||||
v2f *align;
|
||||
v2f *offset;
|
||||
} hudadd;
|
||||
struct{
|
||||
u32 id;
|
||||
} hudrm;
|
||||
struct{
|
||||
u32 id;
|
||||
HudElementStat stat;
|
||||
v2f *v2fdata;
|
||||
std::string *sdata;
|
||||
u32 data;
|
||||
} hudchange;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -315,7 +341,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
|
||||
// Prints a line or two of info
|
||||
void printDebugInfo(std::ostream &os);
|
||||
|
||||
std::list<std::wstring> getConnectedPlayerNames();
|
||||
std::list<std::string> getConnectedPlayerNames();
|
||||
|
||||
float getAnimationTime();
|
||||
|
||||
@@ -359,7 +385,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
|
||||
bool nodedefReceived()
|
||||
{ return m_nodedef_received; }
|
||||
|
||||
void afterContentReceived();
|
||||
void afterContentReceived(IrrlichtDevice *device, gui::IGUIFont* font);
|
||||
|
||||
float getRTT(void);
|
||||
|
||||
|
||||
@@ -88,9 +88,16 @@ SharedBuffer<u8> makePacket_TOCLIENT_TIME_OF_DAY(u16 time, float time_speed);
|
||||
PROTOCOL_VERSION 18:
|
||||
damageGroups added to ToolCapabilities
|
||||
sound_place added to ItemDefinition
|
||||
PROTOCOL_VERSION 19:
|
||||
GENERIC_CMD_SET_PHYSICS_OVERRIDE
|
||||
PROTOCOL_VERSION 20:
|
||||
TOCLIENT_HUDADD
|
||||
TOCLIENT_HUDRM
|
||||
TOCLIENT_HUDCHANGE
|
||||
TOCLIENT_HUD_SET_FLAGS
|
||||
*/
|
||||
|
||||
#define LATEST_PROTOCOL_VERSION 18
|
||||
#define LATEST_PROTOCOL_VERSION 20
|
||||
|
||||
// Server's supported network protocol range
|
||||
#define SERVER_PROTOCOL_VERSION_MIN 13
|
||||
@@ -431,6 +438,56 @@ enum ToClientCommand
|
||||
u16 command
|
||||
u32 id
|
||||
*/
|
||||
|
||||
TOCLIENT_HUDADD = 0x49,
|
||||
/*
|
||||
u16 command
|
||||
u32 id
|
||||
u8 type
|
||||
v2f1000 pos
|
||||
u32 len
|
||||
u8[len] name
|
||||
v2f1000 scale
|
||||
u32 len2
|
||||
u8[len2] text
|
||||
u32 number
|
||||
u32 item
|
||||
u32 dir
|
||||
v2f1000 align
|
||||
v2f1000 offset
|
||||
*/
|
||||
|
||||
TOCLIENT_HUDRM = 0x4a,
|
||||
/*
|
||||
u16 command
|
||||
u32 id
|
||||
*/
|
||||
|
||||
TOCLIENT_HUDCHANGE = 0x4b,
|
||||
/*
|
||||
u16 command
|
||||
u32 id
|
||||
u8 stat
|
||||
[v2f1000 data |
|
||||
u32 len
|
||||
u8[len] data |
|
||||
u32 data]
|
||||
*/
|
||||
|
||||
TOCLIENT_HUD_SET_FLAGS = 0x4c,
|
||||
/*
|
||||
u16 command
|
||||
u32 flags
|
||||
u32 mask
|
||||
*/
|
||||
|
||||
TOCLIENT_HUD_SET_PARAM = 0x4d,
|
||||
/*
|
||||
u16 command
|
||||
u16 param
|
||||
u16 len
|
||||
u8[len] value
|
||||
*/
|
||||
};
|
||||
|
||||
enum ToServerCommand
|
||||
|
||||
@@ -192,7 +192,7 @@ bool wouldCollideWithCeiling(
|
||||
collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
f32 pos_max_d, const aabb3f &box_0,
|
||||
f32 stepheight, f32 dtime,
|
||||
v3f &pos_f, v3f &speed_f, v3f &accel_f)
|
||||
v3f &pos_f, v3f &speed_f, v3f &accel_f,ActiveObject* self)
|
||||
{
|
||||
Map *map = &env->getMap();
|
||||
//TimeTaker tt("collisionMoveSimple");
|
||||
@@ -209,10 +209,15 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
}
|
||||
speed_f += accel_f * dtime;
|
||||
|
||||
// If there is no speed, there are no collisions
|
||||
// If there is no speed, there are no collisions
|
||||
if(speed_f.getLength() == 0)
|
||||
return result;
|
||||
|
||||
// Limit speed for avoiding hangs
|
||||
speed_f.Y=rangelim(speed_f.Y,-5000,5000);
|
||||
speed_f.X=rangelim(speed_f.X,-5000,5000);
|
||||
speed_f.Z=rangelim(speed_f.Z,-5000,5000);
|
||||
|
||||
/*
|
||||
Collect node boxes in movement range
|
||||
*/
|
||||
@@ -293,9 +298,11 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
f32 distance = speed_f.getLength();
|
||||
std::vector<DistanceSortedActiveObject> clientobjects;
|
||||
c_env->getActiveObjects(pos_f,distance * 1.5,clientobjects);
|
||||
for (int i=0; i < clientobjects.size(); i++)
|
||||
for (size_t i=0; i < clientobjects.size(); i++)
|
||||
{
|
||||
objects.push_back((ActiveObject*)clientobjects[i].obj);
|
||||
if ((self == 0) || (self != clientobjects[i].obj)) {
|
||||
objects.push_back((ActiveObject*)clientobjects[i].obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -309,7 +316,9 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
for (std::set<u16>::iterator iter = s_objects.begin(); iter != s_objects.end(); iter++)
|
||||
{
|
||||
ServerActiveObject *current = s_env->getActiveObject(*iter);
|
||||
objects.push_back((ActiveObject*)current);
|
||||
if ((self == 0) || (self != current)) {
|
||||
objects.push_back((ActiveObject*)current);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -453,8 +462,9 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
|
||||
if (is_object[nearest_boxindex]) {
|
||||
info.type = COLLISION_OBJECT;
|
||||
}
|
||||
else
|
||||
else {
|
||||
info.type = COLLISION_NODE;
|
||||
}
|
||||
info.node_p = node_positions[nearest_boxindex];
|
||||
info.bouncy = bouncy;
|
||||
info.old_speed = speed_f;
|
||||
|
||||
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
class Map;
|
||||
class IGameDef;
|
||||
class Environment;
|
||||
class ActiveObject;
|
||||
|
||||
enum CollisionType
|
||||
{
|
||||
@@ -70,7 +71,7 @@ struct collisionMoveResult
|
||||
collisionMoveResult collisionMoveSimple(Environment *env,IGameDef *gamedef,
|
||||
f32 pos_max_d, const aabb3f &box_0,
|
||||
f32 stepheight, f32 dtime,
|
||||
v3f &pos_f, v3f &speed_f, v3f &accel_f);
|
||||
v3f &pos_f, v3f &speed_f, v3f &accel_f,ActiveObject* self=0);
|
||||
|
||||
#if 0
|
||||
// This doesn't seem to work and isn't used
|
||||
|
||||
@@ -51,11 +51,15 @@ class GrowGrassABM : public ActiveBlockModifier
|
||||
ServerMap *map = &env->getServerMap();
|
||||
|
||||
MapNode n_top = map->getNodeNoEx(p+v3s16(0,1,0));
|
||||
content_t c_snow = ndef->getId("snow");
|
||||
if(ndef->get(n_top).light_propagates &&
|
||||
!ndef->get(n_top).isLiquid() &&
|
||||
n_top.getLightBlend(env->getDayNightRatio(), ndef) >= 13)
|
||||
{
|
||||
n.setContent(ndef->getId("mapgen_dirt_with_grass"));
|
||||
if(c_snow != CONTENT_IGNORE && n_top.getContent() == c_snow)
|
||||
n.setContent(ndef->getId("dirt_with_snow"));
|
||||
else
|
||||
n.setContent(ndef->getId("mapgen_dirt_with_grass"));
|
||||
map->addNodeWithEvent(p, n);
|
||||
}
|
||||
}
|
||||
@@ -95,14 +99,10 @@ class MakeTreesFromSaplingsABM : public ActiveBlockModifier
|
||||
{
|
||||
private:
|
||||
content_t c_junglesapling;
|
||||
content_t c_dirt;
|
||||
content_t c_dirt_with_grass;
|
||||
|
||||
public:
|
||||
MakeTreesFromSaplingsABM(ServerEnvironment *env, INodeDefManager *nodemgr) {
|
||||
c_junglesapling = nodemgr->getId("junglesapling");
|
||||
c_dirt = nodemgr->getId("mapgen_dirt");
|
||||
c_dirt_with_grass = nodemgr->getId("mapgen_dirt_with_grass");
|
||||
c_junglesapling = nodemgr->getId("junglesapling");
|
||||
}
|
||||
|
||||
virtual std::set<std::string> getTriggerContents()
|
||||
@@ -123,8 +123,7 @@ class MakeTreesFromSaplingsABM : public ActiveBlockModifier
|
||||
ServerMap *map = &env->getServerMap();
|
||||
|
||||
MapNode n_below = map->getNodeNoEx(p - v3s16(0, 1, 0));
|
||||
if (n_below.getContent() != c_dirt &&
|
||||
n_below.getContent() != c_dirt_with_grass)
|
||||
if (!((ItemGroupList) ndef->get(n_below).groups)["soil"])
|
||||
return;
|
||||
|
||||
bool is_jungle_tree = n.getContent() == c_junglesapling;
|
||||
@@ -192,17 +191,58 @@ class LiquidFlowABM : public ActiveBlockModifier
|
||||
virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n)
|
||||
{
|
||||
ServerMap *map = &env->getServerMap();
|
||||
if (map->transforming_liquid_size() < 500)
|
||||
map->transforming_liquid_add(p);
|
||||
if (map->transforming_liquid_size() > 500)
|
||||
return;
|
||||
map->transforming_liquid_add(p);
|
||||
//if ((*map).m_transforming_liquid.size() < 500) (*map).m_transforming_liquid.push_back(p);
|
||||
}
|
||||
};
|
||||
|
||||
class LiquidDropABM : public ActiveBlockModifier
|
||||
{
|
||||
private:
|
||||
std::set<std::string> contents;
|
||||
|
||||
public:
|
||||
LiquidDropABM(ServerEnvironment *env, INodeDefManager *nodemgr)
|
||||
{
|
||||
std::set<content_t> liquids;
|
||||
nodemgr->getIds("group:liquid", liquids);
|
||||
for(std::set<content_t>::const_iterator k = liquids.begin(); k != liquids.end(); k++)
|
||||
contents.insert(nodemgr->get(*k).liquid_alternative_source);
|
||||
}
|
||||
virtual std::set<std::string> getTriggerContents()
|
||||
{ return contents; }
|
||||
virtual std::set<std::string> getRequiredNeighbors()
|
||||
{
|
||||
std::set<std::string> neighbors;
|
||||
neighbors.insert("mapgen_air");
|
||||
return neighbors;
|
||||
}
|
||||
virtual float getTriggerInterval()
|
||||
{ return 20.0; }
|
||||
virtual u32 getTriggerChance()
|
||||
{ return 10; }
|
||||
virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n)
|
||||
{
|
||||
ServerMap *map = &env->getServerMap();
|
||||
if (map->transforming_liquid_size() > 500)
|
||||
return;
|
||||
//todo: look around except top
|
||||
MapNode n_below = map->getNodeNoEx(p - v3s16(0, 1, 0));
|
||||
if (n_below.getContent() != CONTENT_AIR)
|
||||
return;
|
||||
map->transforming_liquid_add(p);
|
||||
}
|
||||
};
|
||||
|
||||
void add_legacy_abms(ServerEnvironment *env, INodeDefManager *nodedef)
|
||||
{
|
||||
env->addActiveBlockModifier(new GrowGrassABM());
|
||||
env->addActiveBlockModifier(new RemoveGrassABM());
|
||||
env->addActiveBlockModifier(new MakeTreesFromSaplingsABM(env, nodedef));
|
||||
if (g_settings->getBool("liquid_finite"))
|
||||
if (g_settings->getBool("liquid_finite")) {
|
||||
env->addActiveBlockModifier(new LiquidFlowABM(env, nodedef));
|
||||
env->addActiveBlockModifier(new LiquidDropABM(env, nodedef));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -708,11 +708,15 @@ class GenericCAO : public ClientActiveObject
|
||||
if(player && player->isLocal()){
|
||||
m_is_local_player = true;
|
||||
}
|
||||
m_env->addPlayerName(m_name.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
~GenericCAO()
|
||||
{
|
||||
if(m_is_player){
|
||||
m_env->removePlayerName(m_name.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
static ClientActiveObject* create(IGameDef *gamedef, ClientEnvironment *env)
|
||||
@@ -860,7 +864,7 @@ class GenericCAO : public ClientActiveObject
|
||||
m_spritenode = smgr->addBillboardSceneNode(
|
||||
NULL, v2f(1, 1), v3f(0,0,0), -1);
|
||||
m_spritenode->setMaterialTexture(0,
|
||||
tsrc->getTextureRaw("unknown_block.png"));
|
||||
tsrc->getTextureRaw("unknown_node.png"));
|
||||
m_spritenode->setMaterialFlag(video::EMF_LIGHTING, false);
|
||||
m_spritenode->setMaterialFlag(video::EMF_BILINEAR_FILTER, false);
|
||||
m_spritenode->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF);
|
||||
@@ -1129,6 +1133,7 @@ class GenericCAO : public ClientActiveObject
|
||||
{
|
||||
LocalPlayer *player = m_env->getLocalPlayer();
|
||||
player->overridePosition = getParent()->getPosition();
|
||||
m_env->getLocalPlayer()->parent = getParent();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1147,7 +1152,7 @@ class GenericCAO : public ClientActiveObject
|
||||
v3f p_acceleration = m_acceleration;
|
||||
moveresult = collisionMoveSimple(env,env->getGameDef(),
|
||||
pos_max_d, box, stepheight, dtime,
|
||||
p_pos, p_velocity, p_acceleration);
|
||||
p_pos, p_velocity, p_acceleration,this);
|
||||
// Apply results
|
||||
m_position = p_pos;
|
||||
m_velocity = p_velocity;
|
||||
@@ -1263,7 +1268,7 @@ class GenericCAO : public ClientActiveObject
|
||||
{
|
||||
if(m_prop.visual == "sprite")
|
||||
{
|
||||
std::string texturestring = "unknown_block.png";
|
||||
std::string texturestring = "unknown_node.png";
|
||||
if(m_prop.textures.size() >= 1)
|
||||
texturestring = m_prop.textures[0];
|
||||
texturestring += mod;
|
||||
@@ -1329,7 +1334,7 @@ class GenericCAO : public ClientActiveObject
|
||||
{
|
||||
for (u32 i = 0; i < 6; ++i)
|
||||
{
|
||||
std::string texturestring = "unknown_block.png";
|
||||
std::string texturestring = "unknown_node.png";
|
||||
if(m_prop.textures.size() > i)
|
||||
texturestring = m_prop.textures[i];
|
||||
texturestring += mod;
|
||||
@@ -1678,6 +1683,19 @@ class GenericCAO : public ClientActiveObject
|
||||
|
||||
updateTexturePos();
|
||||
}
|
||||
else if(cmd == GENERIC_CMD_SET_PHYSICS_OVERRIDE)
|
||||
{
|
||||
float override_speed = readF1000(is);
|
||||
float override_jump = readF1000(is);
|
||||
float override_gravity = readF1000(is);
|
||||
if(m_is_local_player)
|
||||
{
|
||||
LocalPlayer *player = m_env->getLocalPlayer();
|
||||
player->physics_override_speed = override_speed;
|
||||
player->physics_override_jump = override_jump;
|
||||
player->physics_override_gravity = override_gravity;
|
||||
}
|
||||
}
|
||||
else if(cmd == GENERIC_CMD_SET_ANIMATION)
|
||||
{
|
||||
m_animation_range = readV2F1000(is);
|
||||
|
||||
@@ -740,8 +740,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
||||
continue;
|
||||
|
||||
// The face at Z+
|
||||
video::S3DVertex vertices[4] =
|
||||
{
|
||||
video::S3DVertex vertices[4] = {
|
||||
video::S3DVertex(-BS/2,-BS/2,BS/2, 0,0,0, c,
|
||||
ap.x0(), ap.y1()),
|
||||
video::S3DVertex(BS/2,-BS/2,BS/2, 0,0,0, c,
|
||||
@@ -781,6 +780,132 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
||||
collector.append(tile, vertices, 4, indices, 6);
|
||||
}
|
||||
break;}
|
||||
case NDT_GLASSLIKE_FRAMED:
|
||||
{
|
||||
static const v3s16 dirs[6] = {
|
||||
v3s16( 0, 1, 0),
|
||||
v3s16( 0,-1, 0),
|
||||
v3s16( 1, 0, 0),
|
||||
v3s16(-1, 0, 0),
|
||||
v3s16( 0, 0, 1),
|
||||
v3s16( 0, 0,-1)
|
||||
};
|
||||
TileSpec tiles[2];
|
||||
tiles[0] = getNodeTile(n, p, dirs[0], data);
|
||||
tiles[1] = getNodeTile(n, p, dirs[1], data);
|
||||
u16 l = getInteriorLight(n, 1, data);
|
||||
video::SColor c = MapBlock_LightColor(255, l, decode_light(f.light_source));
|
||||
v3f pos = intToFloat(p, BS);
|
||||
static const float a=BS/2;
|
||||
static const float b=.876*(BS/2);
|
||||
static const aabb3f frame_edges[12] = {
|
||||
aabb3f( b, b,-a, a, a, a), // y+
|
||||
aabb3f(-a, b,-a,-b, a, a), // y+
|
||||
aabb3f( b,-a,-a, a,-b, a), // y-
|
||||
aabb3f(-a,-a,-a,-b,-b, a), // y-
|
||||
aabb3f( b,-a, b, a, a, a), // x+
|
||||
aabb3f( b,-a,-a, a, a,-b), // x+
|
||||
aabb3f(-a,-a, b,-b, a, a), // x-
|
||||
aabb3f(-a,-a,-a,-b, a,-b), // x-
|
||||
aabb3f(-a, b, b, a, a, a), // z+
|
||||
aabb3f(-a,-a, b, a,-b, a), // z+
|
||||
aabb3f(-a,-a,-a, a,-b,-b), // z-
|
||||
aabb3f(-a, b,-a, a, a,-b) // z-
|
||||
};
|
||||
aabb3f glass_faces[6] = {
|
||||
aabb3f(-a, a,-a, a, a, a), // y+
|
||||
aabb3f(-a,-a,-a, a,-a, a), // y-
|
||||
aabb3f( a,-a,-a, a, a, a), // x+
|
||||
aabb3f(-a,-a,-a,-a, a, a), // x-
|
||||
aabb3f(-a,-a, a, a, a, a), // z+
|
||||
aabb3f(-a,-a,-a, a, a,-a) // z-
|
||||
};
|
||||
|
||||
int visible_faces[6] = {0,0,0,0,0,0};
|
||||
int nb[18] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
|
||||
u8 i;
|
||||
content_t current = n.getContent();
|
||||
content_t content;
|
||||
MapNode n2;
|
||||
v3s16 n2p;
|
||||
for(i=0; i<18; i++)
|
||||
{
|
||||
n2p = blockpos_nodes + p + g_26dirs[i];
|
||||
n2 = data->m_vmanip.getNodeNoEx(n2p);
|
||||
content_t n2c = n2.getContent();
|
||||
//TODO: remove CONTENT_IGNORE check when getNodeNoEx is fixed
|
||||
if (n2c == current || n2c == CONTENT_IGNORE)
|
||||
nb[i]=1;
|
||||
}
|
||||
for(i=0; i<6; i++)
|
||||
{
|
||||
n2p = blockpos_nodes + p + dirs[i];
|
||||
n2 = data->m_vmanip.getNodeNoEx(n2p);
|
||||
content = n2.getContent();
|
||||
const ContentFeatures &f2 = nodedef->get(content);
|
||||
if (content == CONTENT_AIR || f2.isLiquid())
|
||||
visible_faces[i]=1;
|
||||
}
|
||||
static const u8 nb_triplet[12*3] = {
|
||||
1,2, 7, 1,5, 6, 4,2,15, 4,5,14,
|
||||
2,0,11, 2,3,13, 5,0,10, 5,3,12,
|
||||
0,1, 8, 0,4,16, 3,4,17, 3,1, 9
|
||||
};
|
||||
|
||||
f32 tx1,ty1,tz1,tx2,ty2,tz2;
|
||||
aabb3f box;
|
||||
for(i=0; i<12; i++)
|
||||
{
|
||||
int edge_invisible;
|
||||
if (nb[nb_triplet[i*3+2]]==1)
|
||||
edge_invisible=nb[nb_triplet[i*3]] & nb[nb_triplet[i*3+1]];
|
||||
else
|
||||
edge_invisible=nb[nb_triplet[i*3]] ^ nb[nb_triplet[i*3+1]];
|
||||
if (edge_invisible)
|
||||
continue;
|
||||
box=frame_edges[i];
|
||||
box.MinEdge += pos;
|
||||
box.MaxEdge += pos;
|
||||
tx1 = (box.MinEdge.X/BS)+0.5;
|
||||
ty1 = (box.MinEdge.Y/BS)+0.5;
|
||||
tz1 = (box.MinEdge.Z/BS)+0.5;
|
||||
tx2 = (box.MaxEdge.X/BS)+0.5;
|
||||
ty2 = (box.MaxEdge.Y/BS)+0.5;
|
||||
tz2 = (box.MaxEdge.Z/BS)+0.5;
|
||||
f32 txc1[24] = {
|
||||
tx1, 1-tz2, tx2, 1-tz1,
|
||||
tx1, tz1, tx2, tz2,
|
||||
tz1, 1-ty2, tz2, 1-ty1,
|
||||
1-tz2, 1-ty2, 1-tz1, 1-ty1,
|
||||
1-tx2, 1-ty2, 1-tx1, 1-ty1,
|
||||
tx1, 1-ty2, tx2, 1-ty1,
|
||||
};
|
||||
makeCuboid(&collector, box, &tiles[0], 1, c, txc1);
|
||||
}
|
||||
for(i=0; i<6; i++)
|
||||
{
|
||||
if (visible_faces[i]==0)
|
||||
continue;
|
||||
box=glass_faces[i];
|
||||
box.MinEdge += pos;
|
||||
box.MaxEdge += pos;
|
||||
tx1 = (box.MinEdge.X/BS)+0.5;
|
||||
ty1 = (box.MinEdge.Y/BS)+0.5;
|
||||
tz1 = (box.MinEdge.Z/BS)+0.5;
|
||||
tx2 = (box.MaxEdge.X/BS)+0.5;
|
||||
ty2 = (box.MaxEdge.Y/BS)+0.5;
|
||||
tz2 = (box.MaxEdge.Z/BS)+0.5;
|
||||
f32 txc2[24] = {
|
||||
tx1, 1-tz2, tx2, 1-tz1,
|
||||
tx1, tz1, tx2, tz2,
|
||||
tz1, 1-ty2, tz2, 1-ty1,
|
||||
1-tz2, 1-ty2, 1-tz1, 1-ty1,
|
||||
1-tx2, 1-ty2, 1-tx1, 1-ty1,
|
||||
tx1, 1-ty2, tx2, 1-ty1,
|
||||
};
|
||||
makeCuboid(&collector, box, &tiles[1], 1, c, txc2);
|
||||
}
|
||||
break;}
|
||||
case NDT_ALLFACES:
|
||||
{
|
||||
TileSpec tile_leaves = getNodeTile(n, p,
|
||||
@@ -1063,34 +1188,81 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
||||
MapNode n_minus_z_plus_y = data->m_vmanip.getNodeNoEx(blockpos_nodes + v3s16(x, y+1, z-1));
|
||||
MapNode n_plus_z_minus_y = data->m_vmanip.getNodeNoEx(blockpos_nodes + v3s16(x, y-1, z+1));
|
||||
MapNode n_minus_z_minus_y = data->m_vmanip.getNodeNoEx(blockpos_nodes + v3s16(x, y-1, z-1));
|
||||
|
||||
|
||||
content_t thiscontent = n.getContent();
|
||||
if(n_minus_x.getContent() == thiscontent)
|
||||
std::string groupname = "connect_to_raillike"; // name of the group that enables connecting to raillike nodes of different kind
|
||||
bool self_connect_to_raillike = ((ItemGroupList) nodedef->get(n).groups)[groupname] != 0;
|
||||
|
||||
if ((nodedef->get(n_minus_x).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_minus_x).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_minus_x.getContent() == thiscontent)
|
||||
is_rail_x[0] = true;
|
||||
if (n_minus_x_minus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_minus_x_minus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_minus_x_minus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_minus_x_minus_y.getContent() == thiscontent)
|
||||
is_rail_x_minus_y[0] = true;
|
||||
if(n_minus_x_plus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_minus_x_plus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_minus_x_plus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_minus_x_plus_y.getContent() == thiscontent)
|
||||
is_rail_x_plus_y[0] = true;
|
||||
|
||||
if(n_plus_x.getContent() == thiscontent)
|
||||
if ((nodedef->get(n_plus_x).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_plus_x).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_plus_x.getContent() == thiscontent)
|
||||
is_rail_x[1] = true;
|
||||
if (n_plus_x_minus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_plus_x_minus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_plus_x_minus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_plus_x_minus_y.getContent() == thiscontent)
|
||||
is_rail_x_minus_y[1] = true;
|
||||
if(n_plus_x_plus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_plus_x_plus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_plus_x_plus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_plus_x_plus_y.getContent() == thiscontent)
|
||||
is_rail_x_plus_y[1] = true;
|
||||
|
||||
if(n_minus_z.getContent() == thiscontent)
|
||||
if ((nodedef->get(n_minus_z).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_minus_z).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_minus_z.getContent() == thiscontent)
|
||||
is_rail_z[0] = true;
|
||||
if (n_minus_z_minus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_minus_z_minus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_minus_z_minus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_minus_z_minus_y.getContent() == thiscontent)
|
||||
is_rail_z_minus_y[0] = true;
|
||||
if(n_minus_z_plus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_minus_z_plus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_minus_z_plus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_minus_z_plus_y.getContent() == thiscontent)
|
||||
is_rail_z_plus_y[0] = true;
|
||||
|
||||
if(n_plus_z.getContent() == thiscontent)
|
||||
if ((nodedef->get(n_plus_z).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_plus_z).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_plus_z.getContent() == thiscontent)
|
||||
is_rail_z[1] = true;
|
||||
if (n_plus_z_minus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_plus_z_minus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_plus_z_minus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_plus_z_minus_y.getContent() == thiscontent)
|
||||
is_rail_z_minus_y[1] = true;
|
||||
if(n_plus_z_plus_y.getContent() == thiscontent)
|
||||
|
||||
if ((nodedef->get(n_plus_z_plus_y).drawtype == NDT_RAILLIKE
|
||||
&& ((ItemGroupList) nodedef->get(n_plus_z_plus_y).groups)[groupname] != 0
|
||||
&& self_connect_to_raillike)
|
||||
|| n_plus_z_plus_y.getContent() == thiscontent)
|
||||
is_rail_z_plus_y[1] = true;
|
||||
|
||||
bool is_rail_x_all[] = {false, false};
|
||||
@@ -1130,7 +1302,8 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
||||
if(is_rail_x_all[0] && is_rail_x_all[1])
|
||||
angle = 90;
|
||||
if(is_rail_z_all[0] && is_rail_z_all[1]){
|
||||
if (n_minus_z_plus_y.getContent() == thiscontent) angle = 180;
|
||||
if (is_rail_z_plus_y[0])
|
||||
angle = 180;
|
||||
}
|
||||
else if(is_rail_x_all[0] && is_rail_z_all[0])
|
||||
angle = 270;
|
||||
|
||||
@@ -27,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "tool.h" // For ToolCapabilities
|
||||
#include "gamedef.h"
|
||||
#include "player.h"
|
||||
#include "scriptapi.h"
|
||||
#include "cpp_api/scriptapi.h"
|
||||
#include "genericobject.h"
|
||||
#include "util/serialize.h"
|
||||
|
||||
@@ -387,8 +387,7 @@ LuaEntitySAO::LuaEntitySAO(ServerEnvironment *env, v3f pos,
|
||||
LuaEntitySAO::~LuaEntitySAO()
|
||||
{
|
||||
if(m_registered){
|
||||
lua_State *L = m_env->getLua();
|
||||
scriptapi_luaentity_rm(L, m_id);
|
||||
ENV_TO_SA(m_env)->luaentity_Remove(m_id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,16 +396,15 @@ void LuaEntitySAO::addedToEnvironment(u32 dtime_s)
|
||||
ServerActiveObject::addedToEnvironment(dtime_s);
|
||||
|
||||
// Create entity from name
|
||||
lua_State *L = m_env->getLua();
|
||||
m_registered = scriptapi_luaentity_add(L, m_id, m_init_name.c_str());
|
||||
m_registered = ENV_TO_SA(m_env)->luaentity_Add(m_id, m_init_name.c_str());
|
||||
|
||||
if(m_registered){
|
||||
// Get properties
|
||||
scriptapi_luaentity_get_properties(L, m_id, &m_prop);
|
||||
ENV_TO_SA(m_env)->luaentity_GetProperties(m_id, &m_prop);
|
||||
// Initialize HP from properties
|
||||
m_hp = m_prop.hp_max;
|
||||
// Activate entity, supplying serialized state
|
||||
scriptapi_luaentity_activate(L, m_id, m_init_state.c_str(), dtime_s);
|
||||
ENV_TO_SA(m_env)->luaentity_Activate(m_id, m_init_state.c_str(), dtime_s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -502,7 +500,7 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
|
||||
v3f p_acceleration = m_acceleration;
|
||||
moveresult = collisionMoveSimple(m_env,m_env->getGameDef(),
|
||||
pos_max_d, box, stepheight, dtime,
|
||||
p_pos, p_velocity, p_acceleration);
|
||||
p_pos, p_velocity, p_acceleration,this);
|
||||
// Apply results
|
||||
m_base_position = p_pos;
|
||||
m_velocity = p_velocity;
|
||||
@@ -515,8 +513,7 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
|
||||
}
|
||||
|
||||
if(m_registered){
|
||||
lua_State *L = m_env->getLua();
|
||||
scriptapi_luaentity_step(L, m_id, dtime);
|
||||
ENV_TO_SA(m_env)->luaentity_Step(m_id, dtime);
|
||||
}
|
||||
|
||||
if(send_recommended == false)
|
||||
@@ -626,8 +623,7 @@ std::string LuaEntitySAO::getStaticData()
|
||||
os<<serializeString(m_init_name);
|
||||
// state
|
||||
if(m_registered){
|
||||
lua_State *L = m_env->getLua();
|
||||
std::string state = scriptapi_luaentity_get_staticdata(L, m_id);
|
||||
std::string state = ENV_TO_SA(m_env)->luaentity_GetStaticdata(m_id);
|
||||
os<<serializeLongString(state);
|
||||
} else {
|
||||
os<<serializeLongString(m_init_state);
|
||||
@@ -673,8 +669,14 @@ int LuaEntitySAO::punch(v3f dir,
|
||||
{
|
||||
setHP(getHP() - result.damage);
|
||||
|
||||
|
||||
std::string punchername = "nil";
|
||||
|
||||
if ( puncher != 0 )
|
||||
punchername = puncher->getDescription();
|
||||
|
||||
actionstream<<getDescription()<<" punched by "
|
||||
<<puncher->getDescription()<<", damage "<<result.damage
|
||||
<<punchername<<", damage "<<result.damage
|
||||
<<" hp, health now "<<getHP()<<" hp"<<std::endl;
|
||||
|
||||
{
|
||||
@@ -688,8 +690,7 @@ int LuaEntitySAO::punch(v3f dir,
|
||||
m_removed = true;
|
||||
}
|
||||
|
||||
lua_State *L = m_env->getLua();
|
||||
scriptapi_luaentity_punch(L, m_id, puncher,
|
||||
ENV_TO_SA(m_env)->luaentity_Punch(m_id, puncher,
|
||||
time_from_last_punch, toolcap, dir);
|
||||
|
||||
return result.wear;
|
||||
@@ -702,8 +703,7 @@ void LuaEntitySAO::rightClick(ServerActiveObject *clicker)
|
||||
// It's best that attachments cannot be clicked
|
||||
if(isAttached())
|
||||
return;
|
||||
lua_State *L = m_env->getLua();
|
||||
scriptapi_luaentity_rightclick(L, m_id, clicker);
|
||||
ENV_TO_SA(m_env)->luaentity_Rightclick(m_id, clicker);
|
||||
}
|
||||
|
||||
void LuaEntitySAO::setPos(v3f pos)
|
||||
@@ -935,7 +935,11 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_,
|
||||
m_moved(false),
|
||||
m_inventory_not_sent(false),
|
||||
m_hp_not_sent(false),
|
||||
m_wielded_item_not_sent(false)
|
||||
m_wielded_item_not_sent(false),
|
||||
m_physics_override_speed(1),
|
||||
m_physics_override_jump(1),
|
||||
m_physics_override_gravity(1),
|
||||
m_physics_override_sent(false)
|
||||
{
|
||||
assert(m_player);
|
||||
assert(m_peer_id != 0);
|
||||
@@ -1019,7 +1023,7 @@ std::string PlayerSAO::getClientInitializationData(u16 protocol_version)
|
||||
writeF1000(os, m_player->getYaw());
|
||||
writeS16(os, getHP());
|
||||
|
||||
writeU8(os, 4 + m_bone_position.size()); // number of messages stuffed in here
|
||||
writeU8(os, 5 + m_bone_position.size()); // number of messages stuffed in here
|
||||
os<<serializeLongString(getPropertyPacket()); // message 1
|
||||
os<<serializeLongString(gob_cmd_update_armor_groups(m_armor_groups)); // 2
|
||||
os<<serializeLongString(gob_cmd_update_animation(m_animation_range, m_animation_speed, m_animation_blend)); // 3
|
||||
@@ -1027,6 +1031,7 @@ std::string PlayerSAO::getClientInitializationData(u16 protocol_version)
|
||||
os<<serializeLongString(gob_cmd_update_bone_position((*ii).first, (*ii).second.X, (*ii).second.Y)); // m_bone_position.size
|
||||
}
|
||||
os<<serializeLongString(gob_cmd_update_attachment(m_attachment_parent_id, m_attachment_bone, m_attachment_position, m_attachment_rotation)); // 4
|
||||
os<<serializeLongString(gob_cmd_update_physics_override(m_physics_override_speed, m_physics_override_jump, m_physics_override_gravity)); // 5
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1196,6 +1201,14 @@ void PlayerSAO::step(float dtime, bool send_recommended)
|
||||
m_messages_out.push_back(aom);
|
||||
}
|
||||
|
||||
if(m_physics_override_sent == false){
|
||||
m_physics_override_sent = true;
|
||||
std::string str = gob_cmd_update_physics_override(m_physics_override_speed, m_physics_override_jump, m_physics_override_gravity);
|
||||
// create message and add to list
|
||||
ActiveObjectMessage aom(getId(), true, str);
|
||||
m_messages_out.push_back(aom);
|
||||
}
|
||||
|
||||
if(m_animation_sent == false){
|
||||
m_animation_sent = true;
|
||||
std::string str = gob_cmd_update_animation(m_animation_range, m_animation_speed, m_animation_blend);
|
||||
@@ -1294,8 +1307,13 @@ int PlayerSAO::punch(v3f dir,
|
||||
HitParams hitparams = getHitParams(m_armor_groups, toolcap,
|
||||
time_from_last_punch);
|
||||
|
||||
std::string punchername = "nil";
|
||||
|
||||
if ( puncher != 0 )
|
||||
punchername = puncher->getDescription();
|
||||
|
||||
actionstream<<"Player "<<m_player->getName()<<" punched by "
|
||||
<<puncher->getDescription()<<", damage "<<hitparams.hp
|
||||
<<punchername<<", damage "<<hitparams.hp
|
||||
<<" HP"<<std::endl;
|
||||
|
||||
setHP(getHP() - hitparams.hp);
|
||||
@@ -1459,6 +1477,11 @@ std::string PlayerSAO::getPropertyPacket()
|
||||
}
|
||||
|
||||
bool PlayerSAO::getCollisionBox(aabb3f *toset) {
|
||||
//player collision handling is already done clientside no need to do it twice
|
||||
return false;
|
||||
//update collision box
|
||||
*toset = m_player->getCollisionbox();
|
||||
|
||||
toset->MinEdge += m_base_position;
|
||||
toset->MaxEdge += m_base_position;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ class LuaEntitySAO : public ServerActiveObject
|
||||
float m_last_sent_position_timer;
|
||||
float m_last_sent_move_precision;
|
||||
bool m_armor_groups_sent;
|
||||
|
||||
|
||||
v2f m_animation_range;
|
||||
float m_animation_speed;
|
||||
float m_animation_blend;
|
||||
@@ -257,8 +257,6 @@ class PlayerSAO : public ServerActiveObject
|
||||
ItemGroupList m_armor_groups;
|
||||
bool m_armor_groups_sent;
|
||||
|
||||
|
||||
|
||||
bool m_properties_sent;
|
||||
struct ObjectProperties m_prop;
|
||||
// Cached privileges for enforcement
|
||||
@@ -285,6 +283,11 @@ class PlayerSAO : public ServerActiveObject
|
||||
bool m_inventory_not_sent;
|
||||
bool m_hp_not_sent;
|
||||
bool m_wielded_item_not_sent;
|
||||
|
||||
float m_physics_override_speed;
|
||||
float m_physics_override_jump;
|
||||
float m_physics_override_gravity;
|
||||
bool m_physics_override_sent;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -107,6 +107,7 @@ void set_default_settings(Settings *settings)
|
||||
settings->setDefault("enable_clouds", "true");
|
||||
settings->setDefault("screenshot_path", ".");
|
||||
settings->setDefault("view_bobbing_amount", "1.0");
|
||||
settings->setDefault("fall_bobbing_amount", "0.0");
|
||||
settings->setDefault("enable_3d_clouds", "true");
|
||||
settings->setDefault("cloud_height", "120");
|
||||
settings->setDefault("menu_clouds", "true");
|
||||
@@ -116,6 +117,7 @@ void set_default_settings(Settings *settings)
|
||||
settings->setDefault("selectionbox_color", "(0,0,0)");
|
||||
settings->setDefault("crosshair_color", "(255,255,255)");
|
||||
settings->setDefault("crosshair_alpha", "255");
|
||||
settings->setDefault("mouse_sensitivity", "0.2");
|
||||
settings->setDefault("enable_sound", "true");
|
||||
settings->setDefault("sound_volume", "0.8");
|
||||
settings->setDefault("desynchronize_mapblock_texture_animation", "true");
|
||||
@@ -173,6 +175,7 @@ void set_default_settings(Settings *settings)
|
||||
settings->setDefault("max_simultaneous_block_sends_server_total", "20");
|
||||
settings->setDefault("max_block_send_distance", "9");
|
||||
settings->setDefault("max_block_generate_distance", "7");
|
||||
settings->setDefault("max_clearobjects_extra_loaded_blocks", "4096");
|
||||
settings->setDefault("time_send_interval", "5");
|
||||
settings->setDefault("time_speed", "72");
|
||||
settings->setDefault("server_unload_unused_data_timeout", "29");
|
||||
@@ -231,10 +234,12 @@ void set_default_settings(Settings *settings)
|
||||
settings->setDefault("mgv6_np_trees", "0, 1, (125, 125, 125), 2, 4, 0.66");
|
||||
settings->setDefault("mgv6_np_apple_trees", "0, 1, (100, 100, 100), 342902, 3, 0.45");
|
||||
|
||||
settings->setDefault("mgv7_np_terrain", "10, 12, (350, 350, 350), 82341, 5, 0.6");
|
||||
settings->setDefault("mgv7_np_bgroup", "0.5, 0.3125, (350, 350, 350), 5923, 2, 0.6");
|
||||
settings->setDefault("mgv7_np_heat", "25, 50, (500, 500, 500), 35293, 1, 0");
|
||||
settings->setDefault("mgv7_np_humidity", "50, 31.25, (750, 750, 750), 12094, 2, 0.6");
|
||||
settings->setDefault("mgv7_np_terrain_base", "0, 80, (250, 250, 250), 82341, 5, 0.6");
|
||||
settings->setDefault("mgv7_np_terrain_alt", "0, 20, (250, 250, 250), 5934, 5, 0.6");
|
||||
settings->setDefault("mgv7_np_terrain_mod", "0, 1, (350, 350, 350), 85039, 5, 0.6");
|
||||
settings->setDefault("mgv7_np_terrain_persist", "0, 1, (500, 500, 500), 539, 3, 0.6");
|
||||
settings->setDefault("mgv7_np_height_select", "0.5, 0.5, (250, 250, 250), 4213, 5, 0.69");
|
||||
settings->setDefault("mgv7_np_ridge", "0.5, 1, (100, 100, 100), 6467, 4, 0.75");
|
||||
|
||||
settings->setDefault("mgindev_np_terrain_base", "-4, 20, (250, 250, 250), 82341, 5, 0.6, 10, 10");
|
||||
settings->setDefault("mgindev_np_terrain_higher", "20, 16, (500, 500, 500), 85039, 5, 0.6, 10, 10");
|
||||
@@ -245,7 +250,6 @@ void set_default_settings(Settings *settings)
|
||||
settings->setDefault("mgindev_np_float_islands3", "0, 1, (256, 256, 256), 6412, 2, 0.5, 1, 0.5");
|
||||
settings->setDefault("mgindev_np_biome", "0, 1, (250, 250, 250), 9130, 3, 0.50, 1, 10");
|
||||
settings->setDefault("mgindev_float_islands", "500");
|
||||
|
||||
}
|
||||
|
||||
void override_default_settings(Settings *settings, Settings *from)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
Minetest-c55
|
||||
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
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
|
||||
@@ -31,27 +32,29 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "mapblock.h"
|
||||
#include "serverobject.h"
|
||||
#include "settings.h"
|
||||
#include "script.h"
|
||||
#include "scriptapi.h"
|
||||
#include "cpp_api/scriptapi.h"
|
||||
#include "profiler.h"
|
||||
#include "log.h"
|
||||
#include "nodedef.h"
|
||||
#include "biome.h"
|
||||
#include "emerge.h"
|
||||
#include "mapgen_v6.h"
|
||||
#include "mapgen_v7.h"
|
||||
#include "mapgen_indev.h"
|
||||
#include "mapgen_singlenode.h"
|
||||
|
||||
|
||||
/////////////////////////////// Emerge Manager ////////////////////////////////
|
||||
|
||||
EmergeManager::EmergeManager(IGameDef *gamedef, BiomeDefManager *bdef) {
|
||||
EmergeManager::EmergeManager(IGameDef *gamedef) {
|
||||
//register built-in mapgens
|
||||
registerMapgen("v6", new MapgenFactoryV6());
|
||||
registerMapgen("v7", new MapgenFactoryV7());
|
||||
registerMapgen("indev", new MapgenFactoryIndev());
|
||||
registerMapgen("singlenode", new MapgenFactorySinglenode());
|
||||
|
||||
this->biomedef = bdef ? bdef : new BiomeDefManager(gamedef);
|
||||
this->ndef = gamedef->getNodeDefManager();
|
||||
this->biomedef = new BiomeDefManager();
|
||||
this->params = NULL;
|
||||
|
||||
mapgen_debug_info = g_settings->getBool("enable_mapgen_debug_info");
|
||||
@@ -92,9 +95,20 @@ EmergeManager::~EmergeManager() {
|
||||
delete emergethread[i];
|
||||
delete mapgen[i];
|
||||
}
|
||||
emergethread.clear();
|
||||
mapgen.clear();
|
||||
|
||||
for (unsigned int i = 0; i < ores.size(); i++)
|
||||
delete ores[i];
|
||||
ores.clear();
|
||||
|
||||
for (std::map<std::string, MapgenFactory *>::iterator iter = mglist.begin();
|
||||
iter != mglist.end(); iter ++) {
|
||||
delete iter->second;
|
||||
}
|
||||
mglist.clear();
|
||||
|
||||
delete biomedef;
|
||||
delete params;
|
||||
}
|
||||
|
||||
|
||||
@@ -104,6 +118,8 @@ void EmergeManager::initMapgens(MapgenParams *mgparams) {
|
||||
if (mapgen.size())
|
||||
return;
|
||||
|
||||
biomedef->resolveNodeNames(ndef);
|
||||
|
||||
this->params = mgparams;
|
||||
for (unsigned int i = 0; i != emergethread.size(); i++) {
|
||||
mg = createMapgen(params->mg_name, 0, params);
|
||||
@@ -237,6 +253,8 @@ MapgenParams *EmergeManager::createMapgenParams(std::string mgname) {
|
||||
MapgenParams *EmergeManager::getParamsFromSettings(Settings *settings) {
|
||||
std::string mg_name = settings->get("mg_name");
|
||||
MapgenParams *mgparams = createMapgenParams(mg_name);
|
||||
if (!mgparams)
|
||||
return NULL;
|
||||
|
||||
mgparams->mg_name = mg_name;
|
||||
mgparams->seed = settings->getU64(settings == g_settings ? "fixed_map_seed" : "seed");
|
||||
@@ -330,7 +348,7 @@ bool EmergeThread::getBlockOrStartGen(v3s16 p, MapBlock **b,
|
||||
|
||||
void *EmergeThread::Thread() {
|
||||
ThreadStarted();
|
||||
log_register_thread("EmergeThread" + id);
|
||||
log_register_thread("EmergeThread" + itos(id));
|
||||
DSTACK(__FUNCTION_NAME);
|
||||
BEGIN_DEBUG_EXCEPTION_HANDLER
|
||||
|
||||
@@ -399,7 +417,7 @@ void *EmergeThread::Thread() {
|
||||
ign(&m_server->m_ignore_map_edit_events_area,
|
||||
VoxelArea(minp, maxp));
|
||||
{ // takes about 90ms with -O1 on an e3-1230v2
|
||||
scriptapi_environment_on_generated(m_server->m_lua,
|
||||
SERVER_TO_SA(m_server)->environment_OnGenerated(
|
||||
minp, maxp, emerge->getBlockSeed(minp));
|
||||
}
|
||||
|
||||
|
||||
27
src/emerge.h
27
src/emerge.h
@@ -1,3 +1,22 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef EMERGE_HEADER
|
||||
#define EMERGE_HEADER
|
||||
|
||||
@@ -12,8 +31,8 @@
|
||||
infostream << "EmergeThread: " x << std::endl; }
|
||||
|
||||
class Mapgen;
|
||||
class MapgenParams;
|
||||
class MapgenFactory;
|
||||
struct MapgenParams;
|
||||
struct MapgenFactory;
|
||||
class Biome;
|
||||
class BiomeDefManager;
|
||||
class EmergeThread;
|
||||
@@ -46,6 +65,8 @@ struct BlockEmergeData {
|
||||
|
||||
class EmergeManager {
|
||||
public:
|
||||
INodeDefManager *ndef;
|
||||
|
||||
std::map<std::string, MapgenFactory *> mglist;
|
||||
|
||||
std::vector<Mapgen *> mapgen;
|
||||
@@ -67,7 +88,7 @@ class EmergeManager {
|
||||
BiomeDefManager *biomedef;
|
||||
std::vector<Ore *> ores;
|
||||
|
||||
EmergeManager(IGameDef *gamedef, BiomeDefManager *bdef);
|
||||
EmergeManager(IGameDef *gamedef);
|
||||
~EmergeManager();
|
||||
|
||||
void initMapgens(MapgenParams *mgparams);
|
||||
|
||||
@@ -32,7 +32,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "settings.h"
|
||||
#include "log.h"
|
||||
#include "profiler.h"
|
||||
#include "scriptapi.h"
|
||||
#include "cpp_api/scriptapi.h"
|
||||
#include "nodedef.h"
|
||||
#include "nodemetadata.h"
|
||||
#include "main.h" // For g_settings, g_profiler
|
||||
@@ -320,10 +320,10 @@ void ActiveBlockList::update(std::list<v3s16> &active_positions,
|
||||
ServerEnvironment
|
||||
*/
|
||||
|
||||
ServerEnvironment::ServerEnvironment(ServerMap *map, lua_State *L,
|
||||
ServerEnvironment::ServerEnvironment(ServerMap *map, ScriptApi *scriptIface,
|
||||
IGameDef *gamedef, IBackgroundBlockEmerger *emerger):
|
||||
m_map(map),
|
||||
m_lua(L),
|
||||
m_script(scriptIface),
|
||||
m_gamedef(gamedef),
|
||||
m_emerger(emerger),
|
||||
m_random_spawn_timer(3),
|
||||
@@ -364,6 +364,29 @@ ServerMap & ServerEnvironment::getServerMap()
|
||||
return *m_map;
|
||||
}
|
||||
|
||||
bool ServerEnvironment::line_of_sight(v3f pos1, v3f pos2, float stepsize)
|
||||
{
|
||||
float distance = pos1.getDistanceFrom(pos2);
|
||||
|
||||
//calculate normalized direction vector
|
||||
v3f normalized_vector = v3f((pos2.X - pos1.X)/distance,
|
||||
(pos2.Y - pos1.Y)/distance,
|
||||
(pos2.Z - pos1.Z)/distance);
|
||||
|
||||
//find out if there's a node on path between pos1 and pos2
|
||||
for (float i = 1; i < distance; i += stepsize) {
|
||||
v3s16 pos = floatToInt(v3f(normalized_vector.X * i,
|
||||
normalized_vector.Y * i,
|
||||
normalized_vector.Z * i) +pos1,BS);
|
||||
|
||||
MapNode n = getMap().getNodeNoEx(pos);
|
||||
|
||||
if(n.param0 != CONTENT_AIR) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void ServerEnvironment::serializePlayers(const std::string &savedir)
|
||||
{
|
||||
@@ -803,7 +826,7 @@ void ServerEnvironment::activateBlock(MapBlock *block, u32 additional_dtime)
|
||||
i != elapsed_timers.end(); i++){
|
||||
n = block->getNodeNoEx(i->first);
|
||||
v3s16 p = i->first + block->getPosRelative();
|
||||
if(scriptapi_node_on_timer(m_lua,p,n,i->second.elapsed))
|
||||
if(m_script->node_on_timer(p,n,i->second.elapsed))
|
||||
block->setNodeTimer(i->first,NodeTimer(i->second.timeout,0));
|
||||
}
|
||||
}
|
||||
@@ -824,17 +847,17 @@ bool ServerEnvironment::setNode(v3s16 p, const MapNode &n)
|
||||
MapNode n_old = m_map->getNodeNoEx(p);
|
||||
// Call destructor
|
||||
if(ndef->get(n_old).has_on_destruct)
|
||||
scriptapi_node_on_destruct(m_lua, p, n_old);
|
||||
m_script->node_on_destruct(p, n_old);
|
||||
// Replace node
|
||||
bool succeeded = m_map->addNodeWithEvent(p, n);
|
||||
if(!succeeded)
|
||||
return false;
|
||||
// Call post-destructor
|
||||
if(ndef->get(n_old).has_after_destruct)
|
||||
scriptapi_node_after_destruct(m_lua, p, n_old);
|
||||
m_script->node_after_destruct(p, n_old);
|
||||
// Call constructor
|
||||
if(ndef->get(n).has_on_construct)
|
||||
scriptapi_node_on_construct(m_lua, p, n);
|
||||
m_script->node_on_construct(p, n);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -844,7 +867,7 @@ bool ServerEnvironment::removeNode(v3s16 p)
|
||||
MapNode n_old = m_map->getNodeNoEx(p);
|
||||
// Call destructor
|
||||
if(ndef->get(n_old).has_on_destruct)
|
||||
scriptapi_node_on_destruct(m_lua, p, n_old);
|
||||
m_script->node_on_destruct(p, n_old);
|
||||
// Replace with air
|
||||
// This is slightly optimized compared to addNodeWithEvent(air)
|
||||
bool succeeded = m_map->removeNodeWithEvent(p);
|
||||
@@ -852,7 +875,7 @@ bool ServerEnvironment::removeNode(v3s16 p)
|
||||
return false;
|
||||
// Call post-destructor
|
||||
if(ndef->get(n_old).has_after_destruct)
|
||||
scriptapi_node_after_destruct(m_lua, p, n_old);
|
||||
m_script->node_after_destruct(p, n_old);
|
||||
// Air doesn't require constructor
|
||||
return true;
|
||||
}
|
||||
@@ -887,7 +910,6 @@ void ServerEnvironment::clearAllObjects()
|
||||
if(obj->getType() == ACTIVEOBJECT_TYPE_PLAYER)
|
||||
continue;
|
||||
u16 id = i->first;
|
||||
v3f objectpos = obj->getBasePosition();
|
||||
// Delete static object if block is loaded
|
||||
if(obj->m_static_exists){
|
||||
MapBlock *block = m_map->getBlockNoCreateNoEx(obj->m_static_block);
|
||||
@@ -908,7 +930,7 @@ void ServerEnvironment::clearAllObjects()
|
||||
// Tell the object about removal
|
||||
obj->removingFromEnvironment();
|
||||
// Deregister in scripting api
|
||||
scriptapi_rm_object_reference(m_lua, obj);
|
||||
m_script->removeObjectReference(obj);
|
||||
|
||||
// Delete active object
|
||||
if(obj->environmentDeletes())
|
||||
@@ -923,6 +945,16 @@ void ServerEnvironment::clearAllObjects()
|
||||
m_active_objects.erase(*i);
|
||||
}
|
||||
|
||||
// Get list of loaded blocks
|
||||
std::list<v3s16> loaded_blocks;
|
||||
infostream<<"ServerEnvironment::clearAllObjects(): "
|
||||
<<"Listing all loaded blocks"<<std::endl;
|
||||
m_map->listAllLoadedBlocks(loaded_blocks);
|
||||
infostream<<"ServerEnvironment::clearAllObjects(): "
|
||||
<<"Done listing all loaded blocks: "
|
||||
<<loaded_blocks.size()<<std::endl;
|
||||
|
||||
// Get list of loadable blocks
|
||||
std::list<v3s16> loadable_blocks;
|
||||
infostream<<"ServerEnvironment::clearAllObjects(): "
|
||||
<<"Listing all loadable blocks"<<std::endl;
|
||||
@@ -931,6 +963,20 @@ void ServerEnvironment::clearAllObjects()
|
||||
<<"Done listing all loadable blocks: "
|
||||
<<loadable_blocks.size()
|
||||
<<", now clearing"<<std::endl;
|
||||
|
||||
// Grab a reference on each loaded block to avoid unloading it
|
||||
for(std::list<v3s16>::iterator i = loaded_blocks.begin();
|
||||
i != loaded_blocks.end(); ++i)
|
||||
{
|
||||
v3s16 p = *i;
|
||||
MapBlock *block = m_map->getBlockNoCreateNoEx(p);
|
||||
assert(block);
|
||||
block->refGrab();
|
||||
}
|
||||
|
||||
// Remove objects in all loadable blocks
|
||||
u32 unload_interval = g_settings->getS32("max_clearobjects_extra_loaded_blocks");
|
||||
unload_interval = MYMAX(unload_interval, 1);
|
||||
u32 report_interval = loadable_blocks.size() / 10;
|
||||
u32 num_blocks_checked = 0;
|
||||
u32 num_blocks_cleared = 0;
|
||||
@@ -965,7 +1011,22 @@ void ServerEnvironment::clearAllObjects()
|
||||
<<" in "<<num_blocks_cleared<<" blocks ("
|
||||
<<percent<<"%)"<<std::endl;
|
||||
}
|
||||
if(num_blocks_checked % unload_interval == 0){
|
||||
m_map->unloadUnreferencedBlocks();
|
||||
}
|
||||
}
|
||||
m_map->unloadUnreferencedBlocks();
|
||||
|
||||
// Drop references that were added above
|
||||
for(std::list<v3s16>::iterator i = loaded_blocks.begin();
|
||||
i != loaded_blocks.end(); ++i)
|
||||
{
|
||||
v3s16 p = *i;
|
||||
MapBlock *block = m_map->getBlockNoCreateNoEx(p);
|
||||
assert(block);
|
||||
block->refDrop();
|
||||
}
|
||||
|
||||
infostream<<"ServerEnvironment::clearAllObjects(): "
|
||||
<<"Finished: Cleared "<<num_objs_cleared<<" objects"
|
||||
<<" in "<<num_blocks_cleared<<" blocks"<<std::endl;
|
||||
@@ -1008,8 +1069,6 @@ void ServerEnvironment::step(float dtime)
|
||||
// Ignore disconnected players
|
||||
if(player->peer_id == 0)
|
||||
continue;
|
||||
|
||||
v3f playerpos = player->getPosition();
|
||||
|
||||
// Move
|
||||
player->move(dtime, *m_map, 100*BS);
|
||||
@@ -1061,8 +1120,8 @@ void ServerEnvironment::step(float dtime)
|
||||
{
|
||||
v3s16 p = *i;
|
||||
|
||||
/*infostream<<"Server: Block ("<<p.X<<","<<p.Y<<","<<p.Z
|
||||
<<") became inactive"<<std::endl;*/
|
||||
/* infostream<<"Server: Block " << PP(p)
|
||||
<< " became inactive"<<std::endl; */
|
||||
|
||||
MapBlock *block = m_map->getBlockNoCreateNoEx(p);
|
||||
if(block==NULL)
|
||||
@@ -1081,9 +1140,6 @@ void ServerEnvironment::step(float dtime)
|
||||
i != blocks_added.end(); ++i)
|
||||
{
|
||||
v3s16 p = *i;
|
||||
|
||||
/*infostream<<"Server: Block ("<<p.X<<","<<p.Y<<","<<p.Z
|
||||
<<") became active"<<std::endl;*/
|
||||
|
||||
MapBlock *block = m_map->getBlockNoCreateNoEx(p);
|
||||
if(block==NULL){
|
||||
@@ -1094,6 +1150,8 @@ void ServerEnvironment::step(float dtime)
|
||||
}
|
||||
|
||||
activateBlock(block);
|
||||
/* infostream<<"Server: Block " << PP(p)
|
||||
<< " became active"<<std::endl; */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1140,7 +1198,7 @@ void ServerEnvironment::step(float dtime)
|
||||
i != elapsed_timers.end(); i++){
|
||||
n = block->getNodeNoEx(i->first);
|
||||
p = i->first + block->getPosRelative();
|
||||
if(scriptapi_node_on_timer(m_lua,p,n,i->second.elapsed))
|
||||
if(m_script->node_on_timer(p,n,i->second.elapsed))
|
||||
block->setNodeTimer(i->first,NodeTimer(i->second.timeout,0));
|
||||
}
|
||||
}
|
||||
@@ -1194,7 +1252,7 @@ void ServerEnvironment::step(float dtime)
|
||||
/*
|
||||
Step script environment (run global on_step())
|
||||
*/
|
||||
scriptapi_environment_step(m_lua, dtime);
|
||||
m_script->environment_Step(dtime);
|
||||
|
||||
/*
|
||||
Step active objects
|
||||
@@ -1272,16 +1330,17 @@ bool isFreeServerActiveObjectId(u16 id,
|
||||
u16 getFreeServerActiveObjectId(
|
||||
std::map<u16, ServerActiveObject*> &objects)
|
||||
{
|
||||
u16 new_id = 1;
|
||||
//try to reuse id's as late as possible
|
||||
static u16 last_used_id = 0;
|
||||
u16 startid = last_used_id;
|
||||
for(;;)
|
||||
{
|
||||
if(isFreeServerActiveObjectId(new_id, objects))
|
||||
return new_id;
|
||||
last_used_id ++;
|
||||
if(isFreeServerActiveObjectId(last_used_id, objects))
|
||||
return last_used_id;
|
||||
|
||||
if(new_id == 65535)
|
||||
if(last_used_id == startid)
|
||||
return 0;
|
||||
|
||||
new_id++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1487,7 +1546,7 @@ u16 ServerEnvironment::addActiveObjectRaw(ServerActiveObject *object,
|
||||
<<std::endl;
|
||||
|
||||
// Register reference in scripting api (must be done before post-init)
|
||||
scriptapi_add_object_reference(m_lua, object);
|
||||
m_script->addObjectReference(object);
|
||||
// Post-initialize object
|
||||
object->addedToEnvironment(dtime_s);
|
||||
|
||||
@@ -1575,7 +1634,7 @@ void ServerEnvironment::removeRemovedObjects()
|
||||
// Tell the object about removal
|
||||
obj->removingFromEnvironment();
|
||||
// Deregister in scripting api
|
||||
scriptapi_rm_object_reference(m_lua, obj);
|
||||
m_script->removeObjectReference(obj);
|
||||
|
||||
// Delete
|
||||
if(obj->environmentDeletes())
|
||||
@@ -1826,17 +1885,17 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
|
||||
<<" Forcing delete."<<std::endl;
|
||||
force_delete = true;
|
||||
} else {
|
||||
u16 new_id = pending_delete ? id : 0;
|
||||
// If static counterpart already exists, remove it first.
|
||||
// This shouldn't happen, but happens rarely for some
|
||||
// unknown reason. Unsuccessful attempts have been made to
|
||||
// find said reason.
|
||||
if(new_id && block->m_static_objects.m_active.find(new_id) != block->m_static_objects.m_active.end()){
|
||||
if(id && block->m_static_objects.m_active.find(id) != block->m_static_objects.m_active.end()){
|
||||
infostream<<"ServerEnv: WARNING: Performing hack #83274"
|
||||
<<std::endl;
|
||||
block->m_static_objects.remove(new_id);
|
||||
block->m_static_objects.remove(id);
|
||||
}
|
||||
block->m_static_objects.insert(new_id, s_obj);
|
||||
//store static data
|
||||
block->m_static_objects.insert(0, s_obj);
|
||||
|
||||
// Only mark block as modified if data changed considerably
|
||||
if(shall_be_written)
|
||||
@@ -1881,7 +1940,7 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
|
||||
// Tell the object about removal
|
||||
obj->removingFromEnvironment();
|
||||
// Deregister in scripting api
|
||||
scriptapi_rm_object_reference(m_lua, obj);
|
||||
m_script->removeObjectReference(obj);
|
||||
|
||||
// Delete active object
|
||||
if(obj->environmentDeletes())
|
||||
@@ -2049,15 +2108,13 @@ void ClientEnvironment::step(float dtime)
|
||||
*/
|
||||
|
||||
{
|
||||
v3f lplayerpos = lplayer->getPosition();
|
||||
|
||||
// Apply physics
|
||||
if(free_move == false && is_climbing == false)
|
||||
{
|
||||
// Gravity
|
||||
v3f speed = lplayer->getSpeed();
|
||||
if(lplayer->in_liquid == false)
|
||||
speed.Y -= lplayer->movement_gravity * dtime_part * 2;
|
||||
speed.Y -= lplayer->movement_gravity * lplayer->physics_override_gravity * dtime_part * 2;
|
||||
|
||||
// Liquid floating / sinking
|
||||
if(lplayer->in_liquid && !lplayer->swimming_vertical)
|
||||
@@ -2151,7 +2208,7 @@ void ClientEnvironment::step(float dtime)
|
||||
v3s16 p2 = floatToInt(pf + v3f(0, BS*0.8, 0), BS);
|
||||
MapNode n2 = m_map->getNodeNoEx(p2);
|
||||
v3s16 p3 = floatToInt(pf + v3f(0, BS*1.6, 0), BS);
|
||||
MapNode n3 = m_map->getNodeNoEx(p2);
|
||||
MapNode n3 = m_map->getNodeNoEx(p3);
|
||||
|
||||
u32 damage_per_second = 0;
|
||||
damage_per_second = MYMAX(damage_per_second,
|
||||
@@ -2174,7 +2231,6 @@ void ClientEnvironment::step(float dtime)
|
||||
i != m_players.end(); ++i)
|
||||
{
|
||||
Player *player = *i;
|
||||
v3f playerpos = player->getPosition();
|
||||
|
||||
/*
|
||||
Handle non-local players
|
||||
@@ -2273,16 +2329,17 @@ bool isFreeClientActiveObjectId(u16 id,
|
||||
u16 getFreeClientActiveObjectId(
|
||||
std::map<u16, ClientActiveObject*> &objects)
|
||||
{
|
||||
u16 new_id = 1;
|
||||
//try to reuse id's as late as possible
|
||||
static u16 last_used_id = 0;
|
||||
u16 startid = last_used_id;
|
||||
for(;;)
|
||||
{
|
||||
if(isFreeClientActiveObjectId(new_id, objects))
|
||||
return new_id;
|
||||
last_used_id ++;
|
||||
if(isFreeClientActiveObjectId(last_used_id, objects))
|
||||
return last_used_id;
|
||||
|
||||
if(new_id == 65535)
|
||||
if(last_used_id == startid)
|
||||
return 0;
|
||||
|
||||
new_id++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ class IGameDef;
|
||||
class Map;
|
||||
class ServerMap;
|
||||
class ClientMap;
|
||||
class ScriptApi;
|
||||
|
||||
class Environment
|
||||
{
|
||||
@@ -190,7 +191,7 @@ class IBackgroundBlockEmerger
|
||||
class ServerEnvironment : public Environment
|
||||
{
|
||||
public:
|
||||
ServerEnvironment(ServerMap *map, lua_State *L, IGameDef *gamedef,
|
||||
ServerEnvironment(ServerMap *map, ScriptApi *iface, IGameDef *gamedef,
|
||||
IBackgroundBlockEmerger *emerger);
|
||||
~ServerEnvironment();
|
||||
|
||||
@@ -198,8 +199,9 @@ class ServerEnvironment : public Environment
|
||||
|
||||
ServerMap & getServerMap();
|
||||
|
||||
lua_State* getLua()
|
||||
{ return m_lua; }
|
||||
//TODO find way to remove this fct!
|
||||
ScriptApi* getScriptIface()
|
||||
{ return m_script; }
|
||||
|
||||
IGameDef *getGameDef()
|
||||
{ return m_gamedef; }
|
||||
@@ -298,6 +300,9 @@ class ServerEnvironment : public Environment
|
||||
// This makes stuff happen
|
||||
void step(f32 dtime);
|
||||
|
||||
//check if there's a line of sight between two positions
|
||||
bool line_of_sight(v3f pos1, v3f pos2, float stepsize=1.0);
|
||||
|
||||
private:
|
||||
|
||||
/*
|
||||
@@ -345,7 +350,7 @@ class ServerEnvironment : public Environment
|
||||
// The map
|
||||
ServerMap *m_map;
|
||||
// Lua state
|
||||
lua_State *m_lua;
|
||||
ScriptApi* m_script;
|
||||
// Game definition
|
||||
IGameDef *m_gamedef;
|
||||
// Background block emerger (the server, in practice)
|
||||
@@ -470,6 +475,13 @@ class ClientEnvironment : public Environment
|
||||
ClientEnvEvent getClientEvent();
|
||||
|
||||
std::vector<core::vector2d<int> > attachment_list; // X is child ID, Y is parent ID
|
||||
|
||||
std::list<std::string> getPlayerNames()
|
||||
{ return m_player_names; }
|
||||
void addPlayerName(std::string name)
|
||||
{ m_player_names.push_back(name); }
|
||||
void removePlayerName(std::string name)
|
||||
{ m_player_names.remove(name); }
|
||||
|
||||
private:
|
||||
ClientMap *m_map;
|
||||
@@ -482,6 +494,7 @@ class ClientEnvironment : public Environment
|
||||
Queue<ClientEnvEvent> m_client_event_queue;
|
||||
IntervalLimiter m_active_object_light_update_interval;
|
||||
IntervalLimiter m_lava_hurt_interval;
|
||||
std::list<std::string> m_player_names;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
757
src/game.cpp
757
src/game.cpp
File diff suppressed because it is too large
Load Diff
@@ -117,6 +117,18 @@ std::string gob_cmd_update_armor_groups(const ItemGroupList &armor_groups)
|
||||
return os.str();
|
||||
}
|
||||
|
||||
std::string gob_cmd_update_physics_override(float physics_override_speed, float physics_override_jump, float physics_override_gravity)
|
||||
{
|
||||
std::ostringstream os(std::ios::binary);
|
||||
// command
|
||||
writeU8(os, GENERIC_CMD_SET_PHYSICS_OVERRIDE);
|
||||
// parameters
|
||||
writeF1000(os, physics_override_speed);
|
||||
writeF1000(os, physics_override_jump);
|
||||
writeF1000(os, physics_override_gravity);
|
||||
return os.str();
|
||||
}
|
||||
|
||||
std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_blend)
|
||||
{
|
||||
std::ostringstream os(std::ios::binary);
|
||||
|
||||
@@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#define GENERIC_CMD_SET_ANIMATION 6
|
||||
#define GENERIC_CMD_SET_BONE_POSITION 7
|
||||
#define GENERIC_CMD_SET_ATTACHMENT 8
|
||||
#define GENERIC_CMD_SET_PHYSICS_OVERRIDE 9
|
||||
|
||||
#include "object_properties.h"
|
||||
std::string gob_cmd_set_properties(const ObjectProperties &prop);
|
||||
@@ -62,6 +63,8 @@ std::string gob_cmd_punched(s16 damage, s16 result_hp);
|
||||
#include "itemgroup.h"
|
||||
std::string gob_cmd_update_armor_groups(const ItemGroupList &armor_groups);
|
||||
|
||||
std::string gob_cmd_update_physics_override(float physics_override_speed, float physics_override_jump, float physics_override_gravity);
|
||||
|
||||
std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_blend);
|
||||
|
||||
std::string gob_cmd_update_bone_position(std::string bone, v3f position, v3f rotation);
|
||||
|
||||
@@ -121,6 +121,9 @@ GUIChatConsole::GUIChatConsole(
|
||||
|
||||
GUIChatConsole::~GUIChatConsole()
|
||||
{
|
||||
#if USE_FREETYPE
|
||||
m_font->drop();
|
||||
#endif
|
||||
}
|
||||
|
||||
void GUIChatConsole::openConsole(f32 height)
|
||||
@@ -131,6 +134,11 @@ void GUIChatConsole::openConsole(f32 height)
|
||||
reformatConsole();
|
||||
}
|
||||
|
||||
bool GUIChatConsole::isOpen() const
|
||||
{
|
||||
return m_open;
|
||||
}
|
||||
|
||||
bool GUIChatConsole::isOpenInhibited() const
|
||||
{
|
||||
return m_open_inhibited > 0;
|
||||
@@ -535,7 +543,7 @@ bool GUIChatConsole::OnEvent(const SEvent& event)
|
||||
{
|
||||
// Tab or Shift-Tab pressed
|
||||
// Nick completion
|
||||
std::list<std::wstring> names = m_client->getConnectedPlayerNames();
|
||||
std::list<std::string> names = m_client->getConnectedPlayerNames();
|
||||
bool backwards = event.KeyInput.Shift;
|
||||
m_chat_backend->getPrompt().nickCompletion(names, backwards);
|
||||
return true;
|
||||
|
||||
@@ -39,6 +39,9 @@ class GUIChatConsole : public gui::IGUIElement
|
||||
// This doesn't open immediately but initiates an animation.
|
||||
// You should call isOpenInhibited() before this.
|
||||
void openConsole(f32 height);
|
||||
|
||||
bool isOpen() const;
|
||||
|
||||
// Check if the console should not be opened at the moment
|
||||
// This is to avoid reopening the console immediately after closing
|
||||
bool isOpenInhibited() const;
|
||||
|
||||
@@ -116,38 +116,18 @@ GUIConfigureWorld::GUIConfigureWorld(gui::IGUIEnvironment* env,
|
||||
// mod_names
|
||||
if(!mod.is_modpack &&
|
||||
mod_names.count(modname) == 0)
|
||||
m_new_mod_names.insert(modname);
|
||||
m_settings.setBool("load_mod_"+modname, false);
|
||||
}
|
||||
if(!m_new_mod_names.empty())
|
||||
{
|
||||
GUIMessageMenu *menu =
|
||||
new GUIMessageMenu(Environment, Parent, -1, m_menumgr,
|
||||
wgettext("Warning: Some mods are not configured yet.\n"
|
||||
"They will be enabled by default when you save the configuration. "));
|
||||
menu->drop();
|
||||
}
|
||||
|
||||
|
||||
// find missing mods (mentioned in world.mt, but not installed)
|
||||
std::set<std::string> missing_mods;
|
||||
for(std::set<std::string>::iterator it = mod_names.begin();
|
||||
it != mod_names.end(); ++it)
|
||||
{
|
||||
std::string modname = *it;
|
||||
if(m_addonmods.count(modname) == 0)
|
||||
missing_mods.insert(modname);
|
||||
m_settings.remove("load_mod_"+modname);
|
||||
}
|
||||
if(!missing_mods.empty())
|
||||
{
|
||||
GUIMessageMenu *menu =
|
||||
new GUIMessageMenu(Environment, Parent, -1, m_menumgr,
|
||||
wgettext("Warning: Some configured mods are missing.\n"
|
||||
"Their setting will be removed when you save the configuration. "));
|
||||
for(std::set<std::string>::iterator it = missing_mods.begin();
|
||||
it != missing_mods.end(); ++it)
|
||||
m_settings.remove("load_mod_"+(*it));
|
||||
menu->drop();
|
||||
}
|
||||
std::string worldmtfile = m_wspec.path+DIR_DELIM+"world.mt";
|
||||
m_settings.updateConfigFile(worldmtfile.c_str());
|
||||
}
|
||||
|
||||
void GUIConfigureWorld::drawMenu()
|
||||
@@ -185,8 +165,6 @@ void GUIConfigureWorld::regenerateGui(v2u32 screensize)
|
||||
DesiredRect = rect;
|
||||
recalculateAbsolutePosition(false);
|
||||
|
||||
v2s32 size = rect.getSize();
|
||||
|
||||
v2s32 topleft = v2s32(10, 10);
|
||||
|
||||
/*
|
||||
@@ -203,30 +181,36 @@ void GUIConfigureWorld::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 200, 20);
|
||||
rect += v2s32(0, 25) + topleft;
|
||||
wchar_t* text = wgettext("enabled");
|
||||
m_enabled_checkbox =
|
||||
Environment->addCheckBox(false, rect, this, GUI_ID_ENABLED_CHECKBOX,
|
||||
wgettext("enabled"));
|
||||
text);
|
||||
delete[] text;
|
||||
m_enabled_checkbox->setVisible(false);
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 85, 30);
|
||||
rect = rect + v2s32(0, 25) + topleft;
|
||||
wchar_t* text = wgettext("Enable All");
|
||||
m_enableall = Environment->addButton(rect, this, GUI_ID_ENABLEALL,
|
||||
wgettext("Enable All"));
|
||||
text);
|
||||
delete[] text;
|
||||
m_enableall->setVisible(false);
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 85, 30);
|
||||
rect = rect + v2s32(115, 25) + topleft;
|
||||
m_disableall = Environment->addButton(rect, this, GUI_ID_DISABLEALL,
|
||||
wgettext("Disable All"));
|
||||
wchar_t* text = wgettext("Disable All");
|
||||
m_disableall = Environment->addButton(rect, this, GUI_ID_DISABLEALL, text );
|
||||
delete[] text;
|
||||
m_disableall->setVisible(false);
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 200, 20);
|
||||
rect += v2s32(0, 60) + topleft;
|
||||
Environment->addStaticText(wgettext("depends on:"),
|
||||
rect, false, false, this, -1);
|
||||
wchar_t* text = wgettext("depends on:");
|
||||
Environment->addStaticText(text, rect, false, false, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 200, 85);
|
||||
@@ -237,8 +221,9 @@ void GUIConfigureWorld::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 200, 20);
|
||||
rect += v2s32(0, 175) + topleft;
|
||||
Environment->addStaticText(wgettext("is required by:"),
|
||||
rect, false, false, this, -1);
|
||||
wchar_t* text = wgettext("is required by:");
|
||||
Environment->addStaticText( text, rect, false, false, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 200, 85);
|
||||
@@ -258,14 +243,16 @@ void GUIConfigureWorld::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 30);
|
||||
rect = rect + v2s32(330, 270) - topleft;
|
||||
Environment->addButton(rect, this, GUI_ID_CANCEL,
|
||||
wgettext("Cancel"));
|
||||
wchar_t* text = wgettext("Cancel");
|
||||
Environment->addButton(rect, this, GUI_ID_CANCEL, text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 30);
|
||||
rect = rect + v2s32(460, 270) - topleft;
|
||||
Environment->addButton(rect, this, GUI_ID_SAVE,
|
||||
wgettext("Save"));
|
||||
wchar_t* text = wgettext("Save");
|
||||
Environment->addButton(rect, this, GUI_ID_SAVE, text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
|
||||
@@ -377,11 +364,6 @@ bool GUIConfigureWorld::OnEvent(const SEvent& event)
|
||||
return true;
|
||||
}
|
||||
case GUI_ID_SAVE: {
|
||||
for(std::set<std::string>::iterator it = m_new_mod_names.begin();
|
||||
it!= m_new_mod_names.end(); ++it)
|
||||
{
|
||||
m_settings.setBool("load_mod_"+(*it),true);
|
||||
}
|
||||
std::string worldmtfile = m_wspec.path+DIR_DELIM+"world.mt";
|
||||
m_settings.updateConfigFile(worldmtfile.c_str());
|
||||
|
||||
@@ -389,17 +371,33 @@ bool GUIConfigureWorld::OnEvent(const SEvent& event)
|
||||
// bug in the text-size calculation. if the trailing
|
||||
// spaces are removed from the message text, the
|
||||
// message gets wrapped and parts of it are cut off:
|
||||
wchar_t* text = wgettext("Configuration saved. ");
|
||||
GUIMessageMenu *menu =
|
||||
new GUIMessageMenu(Environment, Parent, -1, m_menumgr,
|
||||
wgettext("Configuration saved. "));
|
||||
text );
|
||||
delete[] text;
|
||||
menu->drop();
|
||||
|
||||
ModConfiguration modconf(m_wspec.path);
|
||||
if(!modconf.isConsistent())
|
||||
try
|
||||
{
|
||||
GUIMessageMenu *menu =
|
||||
ModConfiguration modconf(m_wspec.path);
|
||||
if(!modconf.isConsistent())
|
||||
{
|
||||
wchar_t* text = wgettext("Warning: Configuration not consistent. ");
|
||||
GUIMessageMenu *menu =
|
||||
new GUIMessageMenu(Environment, Parent, -1, m_menumgr,
|
||||
text );
|
||||
delete[] text;
|
||||
menu->drop();
|
||||
}
|
||||
}
|
||||
catch(ModError &err)
|
||||
{
|
||||
errorstream<<err.what()<<std::endl;
|
||||
std::wstring text = narrow_to_wide(err.what()) + wgettext("\nCheck debug.txt for details.");
|
||||
GUIMessageMenu *menu =
|
||||
new GUIMessageMenu(Environment, Parent, -1, m_menumgr,
|
||||
wgettext("Warning: Configuration not consistent. "));
|
||||
text );
|
||||
menu->drop();
|
||||
}
|
||||
|
||||
@@ -531,22 +529,14 @@ void GUIConfigureWorld::buildTreeView(std::map<std::string, ModSpec> mods,
|
||||
buildTreeView(mod.modpack_content, new_node);
|
||||
else
|
||||
{
|
||||
// set icon for node: ? for new mods, x for disabled mods,
|
||||
// checkmark for enabled mods
|
||||
if(m_new_mod_names.count(modname) > 0)
|
||||
{
|
||||
new_node->setIcon(QUESTIONMARK_STR);
|
||||
}
|
||||
// set icon for node: x for disabled mods, checkmark for enabled mods
|
||||
bool mod_enabled = false;
|
||||
if(m_settings.exists("load_mod_"+modname))
|
||||
mod_enabled = m_settings.getBool("load_mod_"+modname);
|
||||
if(mod_enabled)
|
||||
new_node->setIcon(CHECKMARK_STR);
|
||||
else
|
||||
{
|
||||
bool mod_enabled = true;
|
||||
if(m_settings.exists("load_mod_"+modname))
|
||||
mod_enabled = m_settings.getBool("load_mod_"+modname);
|
||||
if(mod_enabled)
|
||||
new_node->setIcon(CHECKMARK_STR);
|
||||
else
|
||||
new_node->setIcon(CROSS_STR);
|
||||
}
|
||||
new_node->setIcon(CROSS_STR);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -663,7 +653,6 @@ void GUIConfigureWorld::enableMod(std::string modname)
|
||||
m_nodes.find(modname);
|
||||
if(it != m_nodes.end())
|
||||
(*it).second->setIcon(CHECKMARK_STR);
|
||||
m_new_mod_names.erase(modname);
|
||||
//also enable all dependencies
|
||||
for(std::set<std::string>::iterator it=mspec.depends.begin();
|
||||
it != mspec.depends.end(); ++it)
|
||||
@@ -688,7 +677,6 @@ void GUIConfigureWorld::disableMod(std::string modname)
|
||||
m_nodes.find(modname);
|
||||
if(it != m_nodes.end())
|
||||
(*it).second->setIcon(CROSS_STR);
|
||||
m_new_mod_names.erase(modname);
|
||||
//also disable all mods that depend on this one
|
||||
std::pair<std::multimap<std::string, std::string>::iterator,
|
||||
std::multimap<std::string, std::string>::iterator > rdep =
|
||||
|
||||
@@ -69,9 +69,6 @@ class GUIConfigureWorld : public GUIModalMenu
|
||||
// the settings in the world.mt file
|
||||
Settings m_settings;
|
||||
|
||||
// mods that are installed but not mentioned in world.mt file
|
||||
std::set<std::string> m_new_mod_names;
|
||||
|
||||
// maps modnames to nodes in m_treeview
|
||||
std::map<std::string,gui::IGUITreeViewNode*> m_nodes;
|
||||
|
||||
|
||||
@@ -116,14 +116,18 @@ void GUIConfirmMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, bw, 30);
|
||||
rect = rect + v2s32(size.X/2-bw/2-(bw/2+5), size.Y/2-30/2+5 + msg_h/2);
|
||||
wchar_t* text = wgettext("Yes");
|
||||
Environment->addButton(rect, this, GUI_ID_YES,
|
||||
wgettext("Yes"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, bw, 30);
|
||||
rect = rect + v2s32(size.X/2-bw/2+(bw/2+5), size.Y/2-30/2+5 + msg_h/2);
|
||||
wchar_t* text = wgettext("No");
|
||||
Environment->addButton(rect, this, GUI_ID_NO,
|
||||
wgettext("No"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
|
||||
@@ -42,13 +42,22 @@ GUICreateWorld::GUICreateWorld(gui::IGUIEnvironment* env,
|
||||
gui::IGUIElement* parent, s32 id,
|
||||
IMenuManager *menumgr,
|
||||
CreateWorldDest *dest,
|
||||
const std::vector<SubgameSpec> &games
|
||||
const std::vector<SubgameSpec> &games,
|
||||
const std::string &initial_game
|
||||
):
|
||||
GUIModalMenu(env, parent, id, menumgr),
|
||||
m_dest(dest),
|
||||
m_games(games)
|
||||
m_games(games),
|
||||
m_initial_game_i(0)
|
||||
{
|
||||
assert(games.size() > 0);
|
||||
|
||||
for(size_t i=0; i<games.size(); i++){
|
||||
if(games[i].id == initial_game){
|
||||
m_initial_game_i = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GUICreateWorld::~GUICreateWorld()
|
||||
@@ -103,8 +112,6 @@ void GUICreateWorld::regenerateGui(v2u32 screensize)
|
||||
DesiredRect = rect;
|
||||
recalculateAbsolutePosition(false);
|
||||
|
||||
v2s32 size = rect.getSize();
|
||||
|
||||
v2s32 topleft = v2s32(10+80, 10+70);
|
||||
|
||||
/*
|
||||
@@ -113,8 +120,9 @@ void GUICreateWorld::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 100, 20);
|
||||
rect += v2s32(0, 5) + topleft;
|
||||
Environment->addStaticText(wgettext("World name"),
|
||||
rect, false, true, this, -1);
|
||||
wchar_t* text = wgettext("World name");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 300, 30);
|
||||
@@ -127,13 +135,17 @@ void GUICreateWorld::regenerateGui(v2u32 screensize)
|
||||
evt.EventType = EET_KEY_INPUT_EVENT;
|
||||
evt.KeyInput.Key = KEY_END;
|
||||
evt.KeyInput.PressedDown = true;
|
||||
evt.KeyInput.Char = 0;
|
||||
evt.KeyInput.Control = 0;
|
||||
evt.KeyInput.Shift = 0;
|
||||
e->OnEvent(evt);
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 100, 20);
|
||||
rect += v2s32(0, 40+5) + topleft;
|
||||
Environment->addStaticText(wgettext("Game"),
|
||||
rect, false, true, this, -1);
|
||||
wchar_t* text = wgettext("Game");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 300, 80);
|
||||
@@ -149,20 +161,24 @@ void GUICreateWorld::regenerateGui(v2u32 screensize)
|
||||
os<<L"]";
|
||||
e->addItem(os.str().c_str());
|
||||
}
|
||||
e->setSelected(0);
|
||||
e->setSelected(m_initial_game_i);
|
||||
}
|
||||
changeCtype("");
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 30);
|
||||
rect = rect + v2s32(170, 140) + topleft;
|
||||
wchar_t* text = wgettext("Create");
|
||||
Environment->addButton(rect, this, GUI_ID_CREATE,
|
||||
wgettext("Create"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 30);
|
||||
rect = rect + v2s32(300, 140) + topleft;
|
||||
wchar_t* text = wgettext("Cancel");
|
||||
Environment->addButton(rect, this, GUI_ID_CANCEL,
|
||||
wgettext("Cancel"));
|
||||
text);
|
||||
delete [] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@ class GUICreateWorld : public GUIModalMenu
|
||||
gui::IGUIElement* parent, s32 id,
|
||||
IMenuManager *menumgr,
|
||||
CreateWorldDest *dest,
|
||||
const std::vector<SubgameSpec> &games);
|
||||
const std::vector<SubgameSpec> &games,
|
||||
const std::string &initial_game);
|
||||
~GUICreateWorld();
|
||||
|
||||
void removeChildren();
|
||||
@@ -56,6 +57,7 @@ class GUICreateWorld : public GUIModalMenu
|
||||
private:
|
||||
CreateWorldDest *m_dest;
|
||||
std::vector<SubgameSpec> m_games;
|
||||
int m_initial_game_i;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -93,15 +93,19 @@ void GUIDeathScreen::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 400, 50);
|
||||
rect = rect + v2s32(size.X/2-400/2, size.Y/2-50/2-25);
|
||||
Environment->addStaticText(wgettext("You died."), rect, false,
|
||||
wchar_t* text = wgettext("You died.");
|
||||
Environment->addStaticText(text, rect, false,
|
||||
true, this, 256);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, 30);
|
||||
rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+25);
|
||||
wchar_t* text = wgettext("Respawn");
|
||||
gui::IGUIElement *e =
|
||||
Environment->addButton(rect, this, 257,
|
||||
wgettext("Respawn"));
|
||||
text);
|
||||
delete[] text;
|
||||
Environment->setFocus(e);
|
||||
}
|
||||
changeCtype("C");
|
||||
|
||||
@@ -418,9 +418,12 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
|
||||
e->setTextAlignment(gui::EGUIA_UPPERLEFT, gui::EGUIA_UPPERLEFT);
|
||||
} else {
|
||||
irr::SEvent evt;
|
||||
evt.KeyInput.Key = KEY_END;
|
||||
evt.EventType = EET_KEY_INPUT_EVENT;
|
||||
evt.KeyInput.Key = KEY_END;
|
||||
evt.KeyInput.PressedDown = true;
|
||||
evt.KeyInput.Char = 0;
|
||||
evt.KeyInput.Control = 0;
|
||||
evt.KeyInput.Shift = 0;
|
||||
e->OnEvent(evt);
|
||||
}
|
||||
|
||||
@@ -581,6 +584,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
|
||||
size.Y-rect.getHeight()-5);
|
||||
const wchar_t *text = wgettext("Left click: Move all items, Right click: Move single item");
|
||||
Environment->addStaticText(text, rect, false, true, this, 256);
|
||||
delete[] text;
|
||||
changeCtype("C");
|
||||
}
|
||||
// If there's fields, add a Proceed button
|
||||
@@ -604,7 +608,9 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
|
||||
|
||||
v2s32 size = DesiredRect.getSize();
|
||||
rect = core::rect<s32>(size.X/2-70, pos.Y, (size.X/2-70)+140, pos.Y+30);
|
||||
Environment->addButton(rect, this, 257, wgettext("Proceed"));
|
||||
wchar_t* text = wgettext("Proceed");
|
||||
Environment->addButton(rect, this, 257, text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
|
||||
@@ -75,6 +75,13 @@ GUIModalMenu(env, parent, id, menumgr)
|
||||
GUIKeyChangeMenu::~GUIKeyChangeMenu()
|
||||
{
|
||||
removeChildren();
|
||||
|
||||
for (std::vector<key_setting*>::iterator iter = key_settings.begin();
|
||||
iter != key_settings.end(); iter ++) {
|
||||
delete[] (*iter)->button_name;
|
||||
delete (*iter);
|
||||
}
|
||||
key_settings.clear();
|
||||
}
|
||||
|
||||
void GUIKeyChangeMenu::removeChildren()
|
||||
@@ -111,8 +118,10 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
|
||||
core::rect < s32 > rect(0, 0, 600, 40);
|
||||
rect += topleft + v2s32(25, 3);
|
||||
//gui::IGUIStaticText *t =
|
||||
Environment->addStaticText(wgettext("Keybindings. (If this menu screws up, remove stuff from minetest.conf)"),
|
||||
wchar_t* text = wgettext("Keybindings. (If this menu screws up, remove stuff from minetest.conf)");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
//t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_UPPERLEFT);
|
||||
}
|
||||
|
||||
@@ -132,7 +141,9 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect < s32 > rect(0, 0, 100, 30);
|
||||
rect += topleft + v2s32(offset.X + 105, offset.Y - 5);
|
||||
k->button = Environment->addButton(rect, this, k->id, wgettext(k->key.name()));
|
||||
wchar_t* text = wgettext(k->key.name());
|
||||
k->button = Environment->addButton(rect, this, k->id, text );
|
||||
delete[] text;
|
||||
}
|
||||
if(i + 1 == KMaxButtonPerColumns)
|
||||
offset = v2s32(250, 60);
|
||||
@@ -147,8 +158,10 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += topleft + v2s32(option_x, option_y);
|
||||
wchar_t* text = wgettext("\"Use\" = climb down");
|
||||
Environment->addCheckBox(g_settings->getBool("aux1_descends"), rect, this,
|
||||
GUI_ID_CB_AUX1_DESCENDS, wgettext("\"Use\" = climb down"));
|
||||
GUI_ID_CB_AUX1_DESCENDS, text);
|
||||
delete[] text;
|
||||
}
|
||||
offset += v2s32(0, 25);
|
||||
}
|
||||
@@ -160,8 +173,10 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += topleft + v2s32(option_x, option_y);
|
||||
wchar_t* text = wgettext("Double tap \"jump\" to toggle fly");
|
||||
Environment->addCheckBox(g_settings->getBool("doubletap_jump"), rect, this,
|
||||
GUI_ID_CB_DOUBLETAP_JUMP, wgettext("Double tap \"jump\" to toggle fly"));
|
||||
GUI_ID_CB_DOUBLETAP_JUMP, text);
|
||||
delete[] text;
|
||||
}
|
||||
offset += v2s32(0, 25);
|
||||
}
|
||||
@@ -169,14 +184,18 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect < s32 > rect(0, 0, 100, 30);
|
||||
rect += topleft + v2s32(size.X - 100 - 20, size.Y - 40);
|
||||
wchar_t* text = wgettext("Save");
|
||||
Environment->addButton(rect, this, GUI_ID_BACK_BUTTON,
|
||||
wgettext("Save"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect < s32 > rect(0, 0, 100, 30);
|
||||
rect += topleft + v2s32(size.X - 100 - 20 - 100 - 20, size.Y - 40);
|
||||
wchar_t* text = wgettext("Cancel");
|
||||
Environment->addButton(rect, this, GUI_ID_ABORT_BUTTON,
|
||||
wgettext("Cancel"));
|
||||
text );
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
|
||||
@@ -230,7 +249,9 @@ bool GUIKeyChangeMenu::resetMenu()
|
||||
key_setting *k = key_settings.at(i);
|
||||
if(k->id == activeKey)
|
||||
{
|
||||
k->button->setText(wgettext(k->key.name()));
|
||||
wchar_t* text = wgettext(k->key.name());
|
||||
k->button->setText(text);
|
||||
delete[] text;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -266,8 +287,10 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
|
||||
{
|
||||
core::rect < s32 > rect(0, 0, 600, 40);
|
||||
rect += v2s32(0, 0) + v2s32(25, 30);
|
||||
this->key_used_text = Environment->addStaticText(wgettext("Key already in use"),
|
||||
wchar_t* text = wgettext("Key already in use");
|
||||
this->key_used_text = Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
//infostream << "Key already in use" << std::endl;
|
||||
}
|
||||
|
||||
@@ -284,7 +307,9 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
|
||||
}
|
||||
assert(k);
|
||||
k->key = kp;
|
||||
k->button->setText(wgettext(k->key.name()));
|
||||
wchar_t* text = wgettext(k->key.name());
|
||||
k->button->setText(text);
|
||||
delete[] text;
|
||||
|
||||
this->key_used.push_back(kp);
|
||||
|
||||
@@ -344,7 +369,9 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
|
||||
resetMenu();
|
||||
shift_down = false;
|
||||
activeKey = event.GUIEvent.Caller->getID();
|
||||
k->button->setText(wgettext("press key"));
|
||||
wchar_t* text = wgettext("press key");
|
||||
k->button->setText(text);
|
||||
delete[] text;
|
||||
this->key_used.erase(std::remove(this->key_used.begin(),
|
||||
this->key_used.end(), k->key), this->key_used.end());
|
||||
break;
|
||||
@@ -357,11 +384,12 @@ bool GUIKeyChangeMenu::OnEvent(const SEvent& event)
|
||||
return Parent ? Parent->OnEvent(event) : false;
|
||||
}
|
||||
|
||||
void GUIKeyChangeMenu::add_key(int id, std::string button_name, std::string setting_name)
|
||||
void GUIKeyChangeMenu::add_key(int id, wchar_t* button_name, std::string setting_name)
|
||||
{
|
||||
key_setting *k = new key_setting;
|
||||
k->id = id;
|
||||
k->button_name = wgettext(button_name.c_str());
|
||||
|
||||
k->button_name = button_name;
|
||||
k->setting_name = setting_name;
|
||||
k->key = getKeySetting(k->setting_name.c_str());
|
||||
key_settings.push_back(k);
|
||||
@@ -369,21 +397,21 @@ void GUIKeyChangeMenu::add_key(int id, std::string button_name, std::string sett
|
||||
|
||||
void GUIKeyChangeMenu::init_keys()
|
||||
{
|
||||
this->add_key(GUI_ID_KEY_FORWARD_BUTTON, gettext("Forward"), "keymap_forward");
|
||||
this->add_key(GUI_ID_KEY_BACKWARD_BUTTON, gettext("Backward"), "keymap_backward");
|
||||
this->add_key(GUI_ID_KEY_LEFT_BUTTON, gettext("Left"), "keymap_left");
|
||||
this->add_key(GUI_ID_KEY_RIGHT_BUTTON, gettext("Right"), "keymap_right");
|
||||
this->add_key(GUI_ID_KEY_USE_BUTTON, gettext("Use"), "keymap_special1");
|
||||
this->add_key(GUI_ID_KEY_JUMP_BUTTON, gettext("Jump"), "keymap_jump");
|
||||
this->add_key(GUI_ID_KEY_SNEAK_BUTTON, gettext("Sneak"), "keymap_sneak");
|
||||
this->add_key(GUI_ID_KEY_DROP_BUTTON, gettext("Drop"), "keymap_drop");
|
||||
this->add_key(GUI_ID_KEY_INVENTORY_BUTTON, gettext("Inventory"), "keymap_inventory");
|
||||
this->add_key(GUI_ID_KEY_CHAT_BUTTON, gettext("Chat"), "keymap_chat");
|
||||
this->add_key(GUI_ID_KEY_CMD_BUTTON, gettext("Command"), "keymap_cmd");
|
||||
this->add_key(GUI_ID_KEY_CONSOLE_BUTTON, gettext("Console"), "keymap_console");
|
||||
this->add_key(GUI_ID_KEY_FLY_BUTTON, gettext("Toggle fly"), "keymap_freemove");
|
||||
this->add_key(GUI_ID_KEY_FAST_BUTTON, gettext("Toggle fast"), "keymap_fastmove");
|
||||
this->add_key(GUI_ID_KEY_NOCLIP_BUTTON, gettext("Toggle noclip"), "keymap_noclip");
|
||||
this->add_key(GUI_ID_KEY_RANGE_BUTTON, gettext("Range select"), "keymap_rangeselect");
|
||||
this->add_key(GUI_ID_KEY_DUMP_BUTTON, gettext("Print stacks"), "keymap_print_debug_stacks");
|
||||
this->add_key(GUI_ID_KEY_FORWARD_BUTTON, wgettext("Forward"), "keymap_forward");
|
||||
this->add_key(GUI_ID_KEY_BACKWARD_BUTTON, wgettext("Backward"), "keymap_backward");
|
||||
this->add_key(GUI_ID_KEY_LEFT_BUTTON, wgettext("Left"), "keymap_left");
|
||||
this->add_key(GUI_ID_KEY_RIGHT_BUTTON, wgettext("Right"), "keymap_right");
|
||||
this->add_key(GUI_ID_KEY_USE_BUTTON, wgettext("Use"), "keymap_special1");
|
||||
this->add_key(GUI_ID_KEY_JUMP_BUTTON, wgettext("Jump"), "keymap_jump");
|
||||
this->add_key(GUI_ID_KEY_SNEAK_BUTTON, wgettext("Sneak"), "keymap_sneak");
|
||||
this->add_key(GUI_ID_KEY_DROP_BUTTON, wgettext("Drop"), "keymap_drop");
|
||||
this->add_key(GUI_ID_KEY_INVENTORY_BUTTON, wgettext("Inventory"), "keymap_inventory");
|
||||
this->add_key(GUI_ID_KEY_CHAT_BUTTON, wgettext("Chat"), "keymap_chat");
|
||||
this->add_key(GUI_ID_KEY_CMD_BUTTON, wgettext("Command"), "keymap_cmd");
|
||||
this->add_key(GUI_ID_KEY_CONSOLE_BUTTON, wgettext("Console"), "keymap_console");
|
||||
this->add_key(GUI_ID_KEY_FLY_BUTTON, wgettext("Toggle fly"), "keymap_freemove");
|
||||
this->add_key(GUI_ID_KEY_FAST_BUTTON, wgettext("Toggle fast"), "keymap_fastmove");
|
||||
this->add_key(GUI_ID_KEY_NOCLIP_BUTTON, wgettext("Toggle noclip"), "keymap_noclip");
|
||||
this->add_key(GUI_ID_KEY_RANGE_BUTTON, wgettext("Range select"), "keymap_rangeselect");
|
||||
this->add_key(GUI_ID_KEY_DUMP_BUTTON, wgettext("Print stacks"), "keymap_print_debug_stacks");
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ class GUIKeyChangeMenu: public GUIModalMenu
|
||||
|
||||
bool resetMenu();
|
||||
|
||||
void add_key(int id, std::string setting_name, std::string button_name);
|
||||
void add_key(int id, wchar_t* button_name, std::string setting_name);
|
||||
|
||||
bool shift_down;
|
||||
|
||||
|
||||
@@ -53,11 +53,12 @@ const wchar_t *contrib_core_strs[] = {
|
||||
L"Ilya Zhuravlev (thexyz) <xyz@minetest.net>",
|
||||
L"Lisa Milne (darkrose) <lisa@ltmnet.com>",
|
||||
L"Maciej Kasatkin (RealBadAngel) <mk@realbadangel.pl>",
|
||||
L"proller <proler@gmail.com>"
|
||||
L"proller <proler@gmail.com>",
|
||||
L"sfan5 <sfan5@live.de>",
|
||||
L"kahrl <kahrl@gmx.net>"
|
||||
};
|
||||
|
||||
const wchar_t *contrib_active_strs[] = {
|
||||
L"sfan5 <sfan5@live.de>",
|
||||
L"sapier <sapier@gmx.net>",
|
||||
L"Vanessa Ezekowitz (VanessaE) <vanessaezekowitz@gmail.com>",
|
||||
L"Jurgen Doser (doserj) <jurgen.doser@gmail.com>",
|
||||
@@ -69,7 +70,6 @@ const wchar_t *contrib_active_strs[] = {
|
||||
};
|
||||
|
||||
const wchar_t *contrib_previous_strs[] = {
|
||||
L"kahrl <kahrl@gmx.net>",
|
||||
L"Giuseppe Bilotta (Oblomov) <giuseppe.bilotta@gmail.com>",
|
||||
L"Jonathan Neuschafer <j.neuschaefer@gmx.net>",
|
||||
L"Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net>",
|
||||
@@ -89,7 +89,9 @@ struct CreateWorldDestMainMenu : public CreateWorldDest
|
||||
std::string name_narrow = wide_to_narrow(name);
|
||||
if(!string_allowed_blacklist(name_narrow, WORLDNAME_BLACKLISTED_CHARS))
|
||||
{
|
||||
m_menu->displayMessageMenu(wgettext("Cannot create world: Name contains invalid characters"));
|
||||
wchar_t* text = wgettext("Cannot create world: Name contains invalid characters");
|
||||
m_menu->displayMessageMenu(text);
|
||||
delete[] text;
|
||||
return;
|
||||
}
|
||||
std::vector<WorldSpec> worlds = getAvailableWorlds();
|
||||
@@ -98,7 +100,9 @@ struct CreateWorldDestMainMenu : public CreateWorldDest
|
||||
{
|
||||
if((*i).name == name_narrow)
|
||||
{
|
||||
m_menu->displayMessageMenu(wgettext("Cannot create world: A world by this name already exists"));
|
||||
wchar_t* text = wgettext("Cannot create world: A world by this name already exists");
|
||||
m_menu->displayMessageMenu(text);
|
||||
delete[] text;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -158,15 +162,8 @@ enum
|
||||
GUI_ID_SERVERLIST_TOGGLE,
|
||||
GUI_ID_SERVERLIST_DELETE,
|
||||
GUI_ID_SERVERLIST_TITLE,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
TAB_SINGLEPLAYER=0,
|
||||
TAB_MULTIPLAYER,
|
||||
TAB_ADVANCED,
|
||||
TAB_SETTINGS,
|
||||
TAB_CREDITS
|
||||
GUI_ID_GAME_BUTTON_FIRST = 130,
|
||||
GUI_ID_GAME_BUTTON_MAX = 150,
|
||||
};
|
||||
|
||||
GUIMainMenu::GUIMainMenu(gui::IGUIEnvironment* env,
|
||||
@@ -251,8 +248,13 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, size.X, 40);
|
||||
rect += v2s32(4, 0);
|
||||
Environment->addStaticText(narrow_to_wide(
|
||||
"Minetest " VERSION_STRING).c_str(),
|
||||
std::string t = "Minetest " VERSION_STRING;
|
||||
if(m_data->selected_game_name != "" &&
|
||||
m_data->selected_tab == TAB_SINGLEPLAYER){
|
||||
t += "/";
|
||||
t += m_data->selected_game_name;
|
||||
}
|
||||
Environment->addStaticText(narrow_to_wide(t).c_str(),
|
||||
rect, false, true, this, -1);
|
||||
}
|
||||
|
||||
@@ -280,12 +282,24 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
rect += m_topleft_client + v2s32(0, -30);
|
||||
gui::IGUITabControl *e = Environment->addTabControl(
|
||||
rect, this, true, true, GUI_ID_TAB_CONTROL);
|
||||
e->addTab(wgettext("Singleplayer"));
|
||||
e->addTab(wgettext("Multiplayer"));
|
||||
e->addTab(wgettext("Advanced"));
|
||||
e->addTab(wgettext("Settings"));
|
||||
e->addTab(wgettext("Credits"));
|
||||
wchar_t* text = wgettext("Singleplayer");
|
||||
e->addTab(text);
|
||||
delete[] text;
|
||||
text = wgettext("Multiplayer");
|
||||
e->addTab(text);
|
||||
delete[] text;
|
||||
text = wgettext("Advanced");
|
||||
e->addTab(text);
|
||||
delete[] text;
|
||||
text = wgettext("Settings");
|
||||
e->addTab(text);
|
||||
delete[] text;
|
||||
text = wgettext("Credits");
|
||||
e->addTab(text);
|
||||
delete[] text;
|
||||
|
||||
e->setActiveTab(m_data->selected_tab);
|
||||
|
||||
}
|
||||
|
||||
if(m_data->selected_tab == TAB_SINGLEPLAYER)
|
||||
@@ -313,9 +327,11 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, world_sel_w-4, 20);
|
||||
rect += m_topleft_client + v2s32(world_sel_x+4, world_sel_y-20);
|
||||
wchar_t* text = wgettext("Select World:");
|
||||
/*gui::IGUIStaticText *e =*/ Environment->addStaticText(
|
||||
wgettext("Select World:"),
|
||||
text,
|
||||
rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
/*e->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_CENTER);*/
|
||||
}
|
||||
{
|
||||
@@ -324,34 +340,46 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
gui::IGUIListBox *e = Environment->addListBox(rect, this,
|
||||
GUI_ID_WORLD_LISTBOX);
|
||||
e->setDrawBackground(true);
|
||||
for(std::vector<WorldSpec>::const_iterator i = m_data->worlds.begin();
|
||||
i != m_data->worlds.end(); i++){
|
||||
e->addItem(narrow_to_wide(i->name+" ["+i->gameid+"]").c_str());
|
||||
m_world_indices.clear();
|
||||
for(size_t wi = 0; wi < m_data->worlds.size(); wi++){
|
||||
const WorldSpec &spec = m_data->worlds[wi];
|
||||
if(spec.gameid == m_data->selected_game){
|
||||
//e->addItem(narrow_to_wide(spec.name+" ["+spec.gameid+"]").c_str());
|
||||
e->addItem(narrow_to_wide(spec.name).c_str());
|
||||
m_world_indices.push_back(wi);
|
||||
if(m_data->selected_world == (int)wi)
|
||||
e->setSelected(m_world_indices.size()-1);
|
||||
}
|
||||
}
|
||||
e->setSelected(m_data->selected_world);
|
||||
Environment->setFocus(e);
|
||||
}
|
||||
// Delete world button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, world_button_w, 30);
|
||||
rect += m_topleft_client + v2s32(world_sel_x, world_sel_y+world_sel_h+0);
|
||||
wchar_t* text = wgettext("Delete");
|
||||
Environment->addButton(rect, this, GUI_ID_DELETE_WORLD_BUTTON,
|
||||
wgettext("Delete"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
// Create world button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, world_button_w, 30);
|
||||
rect += m_topleft_client + v2s32(world_sel_x+world_button_w+bs, world_sel_y+world_sel_h+0);
|
||||
wchar_t* text = wgettext("New");
|
||||
Environment->addButton(rect, this, GUI_ID_CREATE_WORLD_BUTTON,
|
||||
wgettext("New"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
// Configure world button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, world_button_w, 30);
|
||||
rect += m_topleft_client + v2s32(world_sel_x+(world_button_w+bs)*2,
|
||||
world_sel_y+world_sel_h+0);
|
||||
wchar_t* text = wgettext("Configure");
|
||||
Environment->addButton(rect, this, GUI_ID_CONFIGURE_WORLD_BUTTON,
|
||||
wgettext("Configure"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
// Start game button
|
||||
{
|
||||
@@ -365,8 +393,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
core::rect<s32> rect(0, 0, bw, 30);
|
||||
rect += m_topleft_client + v2s32(world_sel_x+world_sel_w-bw,
|
||||
world_sel_y+world_sel_h+30+bs);
|
||||
wchar_t* text = wgettext("Play");
|
||||
Environment->addButton(rect, this,
|
||||
GUI_ID_JOIN_GAME_BUTTON, wgettext("Play"));
|
||||
GUI_ID_JOIN_GAME_BUTTON, text);
|
||||
delete[] text;
|
||||
}
|
||||
// Options
|
||||
s32 option_x = 50;
|
||||
@@ -376,16 +406,40 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += m_topleft_client + v2s32(option_x, option_y+20*0);
|
||||
wchar_t* text = wgettext("Creative Mode");
|
||||
Environment->addCheckBox(m_data->creative_mode, rect, this,
|
||||
GUI_ID_CREATIVE_CB, wgettext("Creative Mode"));
|
||||
GUI_ID_CREATIVE_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += m_topleft_client + v2s32(option_x, option_y+20*1);
|
||||
wchar_t* text = wgettext("Enable Damage");
|
||||
Environment->addCheckBox(m_data->enable_damage, rect, this,
|
||||
GUI_ID_DAMAGE_CB, wgettext("Enable Damage"));
|
||||
GUI_ID_DAMAGE_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
|
||||
/* Add game selection buttons */
|
||||
video::IVideoDriver* driver = Environment->getVideoDriver();
|
||||
for(size_t i=0; i<m_data->games.size(); i++){
|
||||
const SubgameSpec *spec = &m_data->games[i];
|
||||
v2s32 p(8 + i*(48+8), screensize.Y - (48+8));
|
||||
core::rect<s32> rect(0, 0, 48, 48);
|
||||
rect += p;
|
||||
video::ITexture *bgtexture = NULL;
|
||||
if(spec->menuicon_path != "")
|
||||
bgtexture = driver->getTexture(spec->menuicon_path.c_str());
|
||||
gui::IGUIButton *b = Environment->addButton(rect, this,
|
||||
GUI_ID_GAME_BUTTON_FIRST+i, narrow_to_wide(wrap_rows(spec->id, 4)).c_str());
|
||||
if(bgtexture){
|
||||
b->setImage(bgtexture);
|
||||
b->setText(L"");
|
||||
b->setDrawBorder(false);
|
||||
b->setUseAlphaChannel(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(m_data->selected_tab == TAB_MULTIPLAYER)
|
||||
{
|
||||
@@ -402,9 +456,11 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
// Nickname + password
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
wchar_t* text = wgettext("Name/Password");
|
||||
rect += m_topleft_client + v2s32(m_size_client.X-60-100, 10+6);
|
||||
Environment->addStaticText(wgettext("Name/Password"),
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete [] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -439,16 +495,20 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 390, 20);
|
||||
rect += m_topleft_client + v2s32(50, 10);
|
||||
Environment->addStaticText(wgettext("Favorites:"),
|
||||
wchar_t* text = wgettext("Favorites:");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, GUI_ID_SERVERLIST_TITLE);
|
||||
delete[] text;
|
||||
}
|
||||
} else {
|
||||
m_data->servers = ServerList::getOnline();
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 390, 20);
|
||||
rect += m_topleft_client + v2s32(50, 10);
|
||||
Environment->addStaticText(wgettext("Public Server List:"),
|
||||
wchar_t* text = wgettext("Public Server List:");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, GUI_ID_SERVERLIST_TITLE);
|
||||
delete[] text;
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -456,8 +516,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 390, 20);
|
||||
rect += m_topleft_client + v2s32(50, 10);
|
||||
Environment->addStaticText(wgettext("Favorites:"),
|
||||
wchar_t* text = wgettext("Favorites:");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, GUI_ID_SERVERLIST_TITLE);
|
||||
delete[] text;
|
||||
}
|
||||
#endif
|
||||
updateGuiServerList();
|
||||
@@ -467,8 +529,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
rect += m_topleft_client + v2s32(50, m_size_client.Y-50-15+6);
|
||||
Environment->addStaticText(wgettext("Address/Port"),
|
||||
wchar_t* text = wgettext("Address/Port");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete [] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -493,13 +557,17 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
core::rect<s32> rect(0, 0, 260, 30);
|
||||
rect += m_topleft_client + v2s32(50,
|
||||
180);
|
||||
wchar_t* text = wgettext("Show Public");
|
||||
gui::IGUIButton *e = Environment->addButton(rect, this, GUI_ID_SERVERLIST_TOGGLE,
|
||||
wgettext("Show Public"));
|
||||
text);
|
||||
delete[] text;
|
||||
e->setIsPushButton(true);
|
||||
if (m_data->selected_serverlist == SERVERLIST_PUBLIC)
|
||||
{
|
||||
e->setText(wgettext("Show Favorites"));
|
||||
wchar_t* text = wgettext("Show Favorites");
|
||||
e->setText(text);
|
||||
e->setPressed();
|
||||
delete[] text;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -507,18 +575,23 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 30);
|
||||
rect += m_topleft_client + v2s32(50+260+10, 180);
|
||||
wchar_t* text = wgettext("Delete");
|
||||
gui::IGUIButton *e = Environment->addButton(rect, this, GUI_ID_SERVERLIST_DELETE,
|
||||
wgettext("Delete"));
|
||||
text);
|
||||
if (m_data->selected_serverlist == SERVERLIST_PUBLIC) // Hidden when on public list
|
||||
e->setVisible(false);
|
||||
|
||||
delete [] text;
|
||||
}
|
||||
// Start game button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 30);
|
||||
rect += m_topleft_client + v2s32(m_size_client.X-130-30,
|
||||
m_size_client.Y-25-15);
|
||||
wchar_t* text = wgettext("Connect");
|
||||
Environment->addButton(rect, this, GUI_ID_JOIN_GAME_BUTTON,
|
||||
wgettext("Connect"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
@@ -538,8 +611,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
rect += m_topleft_client + v2s32(35+30, 35+6);
|
||||
Environment->addStaticText(wgettext("Name/Password"),
|
||||
wchar_t* text = wgettext("Name/Password");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete [] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -565,8 +640,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
rect += m_topleft_client + v2s32(35+30, 75+6);
|
||||
Environment->addStaticText(wgettext("Address/Port"),
|
||||
wchar_t* text = wgettext("Address/Port");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -588,16 +665,20 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 400, 20);
|
||||
rect += m_topleft_client + v2s32(160+30, 75+35);
|
||||
Environment->addStaticText(wgettext("Leave address blank to start a local server."),
|
||||
wchar_t* text = wgettext("Leave address blank to start a local server.");
|
||||
Environment->addStaticText(text,
|
||||
rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
// Start game button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 180, 30);
|
||||
rect += m_topleft_client + v2s32(m_size_client.X-180-30,
|
||||
m_size_client.Y-30-20);
|
||||
wchar_t* text = wgettext("Start Game / Connect");
|
||||
Environment->addButton(rect, this, GUI_ID_JOIN_GAME_BUTTON,
|
||||
wgettext("Start Game / Connect"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
/*
|
||||
Server section
|
||||
@@ -615,36 +696,46 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 250, 30);
|
||||
rect += m_topleft_server + v2s32(30+20+250+20, 20);
|
||||
wchar_t* text = wgettext("Creative Mode");
|
||||
Environment->addCheckBox(m_data->creative_mode, rect, this, GUI_ID_CREATIVE_CB,
|
||||
wgettext("Creative Mode"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 250, 30);
|
||||
rect += m_topleft_server + v2s32(30+20+250+20, 40);
|
||||
wchar_t* text = wgettext("Enable Damage");
|
||||
Environment->addCheckBox(m_data->enable_damage, rect, this, GUI_ID_DAMAGE_CB,
|
||||
wgettext("Enable Damage"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
#if USE_CURL
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 250, 30);
|
||||
rect += m_topleft_server + v2s32(30+20+250+20, 60);
|
||||
wchar_t* text = wgettext("Public");
|
||||
Environment->addCheckBox(m_data->enable_public, rect, this, GUI_ID_PUBLIC_CB,
|
||||
wgettext("Public"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
#endif
|
||||
// Delete world button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 130, 30);
|
||||
rect += m_topleft_server + v2s32(30+20+250+20, 90);
|
||||
wchar_t* text = wgettext("Delete world");
|
||||
Environment->addButton(rect, this, GUI_ID_DELETE_WORLD_BUTTON,
|
||||
wgettext("Delete world"));
|
||||
text );
|
||||
delete[] text;
|
||||
}
|
||||
// Create world button
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 130, 30);
|
||||
rect += m_topleft_server + v2s32(30+20+250+20+140, 90);
|
||||
wchar_t* text = wgettext("Create world");
|
||||
Environment->addButton(rect, this, GUI_ID_CREATE_WORLD_BUTTON,
|
||||
wgettext("Create world"));
|
||||
text );
|
||||
delete[] text;
|
||||
}
|
||||
// World selection listbox
|
||||
{
|
||||
@@ -653,9 +744,11 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
gui::IGUIListBox *e = Environment->addListBox(rect, this,
|
||||
GUI_ID_WORLD_LISTBOX);
|
||||
e->setDrawBackground(true);
|
||||
for(std::vector<WorldSpec>::const_iterator i = m_data->worlds.begin();
|
||||
i != m_data->worlds.end(); i++){
|
||||
e->addItem(narrow_to_wide(i->name+" ["+i->gameid+"]").c_str());
|
||||
m_world_indices.clear();
|
||||
for(size_t wi = 0; wi < m_data->worlds.size(); wi++){
|
||||
const WorldSpec &spec = m_data->worlds[wi];
|
||||
e->addItem(narrow_to_wide(spec.name+" ["+spec.gameid+"]").c_str());
|
||||
m_world_indices.push_back(wi);
|
||||
}
|
||||
e->setSelected(m_data->selected_world);
|
||||
}
|
||||
@@ -677,26 +770,34 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += m_topleft_client + v2s32(option_x, option_y);
|
||||
wchar_t* text = wgettext("Fancy trees");
|
||||
Environment->addCheckBox(m_data->fancy_trees, rect, this,
|
||||
GUI_ID_FANCYTREE_CB, wgettext("Fancy trees"));
|
||||
GUI_ID_FANCYTREE_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += m_topleft_client + v2s32(option_x, option_y+20);
|
||||
wchar_t* text = wgettext("Smooth Lighting");
|
||||
Environment->addCheckBox(m_data->smooth_lighting, rect, this,
|
||||
GUI_ID_SMOOTH_LIGHTING_CB, wgettext("Smooth Lighting"));
|
||||
GUI_ID_SMOOTH_LIGHTING_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += m_topleft_client + v2s32(option_x, option_y+20*2);
|
||||
wchar_t* text = wgettext("3D Clouds");
|
||||
Environment->addCheckBox(m_data->clouds_3d, rect, this,
|
||||
GUI_ID_3D_CLOUDS_CB, wgettext("3D Clouds"));
|
||||
GUI_ID_3D_CLOUDS_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w, 30);
|
||||
rect += m_topleft_client + v2s32(option_x, option_y+20*3);
|
||||
wchar_t* text = wgettext("Opaque water");
|
||||
Environment->addCheckBox(m_data->opaque_water, rect, this,
|
||||
GUI_ID_OPAQUE_WATER_CB, wgettext("Opaque water"));
|
||||
GUI_ID_OPAQUE_WATER_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
|
||||
@@ -705,58 +806,74 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175, option_y);
|
||||
wchar_t* text = wgettext("Mip-Mapping");
|
||||
Environment->addCheckBox(m_data->mip_map, rect, this,
|
||||
GUI_ID_MIPMAP_CB, wgettext("Mip-Mapping"));
|
||||
GUI_ID_MIPMAP_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175, option_y+20);
|
||||
wchar_t* text = wgettext("Anisotropic Filtering");
|
||||
Environment->addCheckBox(m_data->anisotropic_filter, rect, this,
|
||||
GUI_ID_ANISOTROPIC_CB, wgettext("Anisotropic Filtering"));
|
||||
GUI_ID_ANISOTROPIC_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175, option_y+20*2);
|
||||
wchar_t* text = wgettext("Bi-Linear Filtering");
|
||||
Environment->addCheckBox(m_data->bilinear_filter, rect, this,
|
||||
GUI_ID_BILINEAR_CB, wgettext("Bi-Linear Filtering"));
|
||||
GUI_ID_BILINEAR_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175, option_y+20*3);
|
||||
wchar_t* text = wgettext("Tri-Linear Filtering");
|
||||
Environment->addCheckBox(m_data->trilinear_filter, rect, this,
|
||||
GUI_ID_TRILINEAR_CB, wgettext("Tri-Linear Filtering"));
|
||||
GUI_ID_TRILINEAR_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
// shader/on demand image loading/particles settings
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175*2, option_y);
|
||||
wchar_t* text = wgettext("Shaders");
|
||||
Environment->addCheckBox(m_data->enable_shaders, rect, this,
|
||||
GUI_ID_SHADERS_CB, wgettext("Shaders"));
|
||||
GUI_ID_SHADERS_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175*2, option_y+20);
|
||||
wchar_t* text = wgettext("Preload item visuals");
|
||||
Environment->addCheckBox(m_data->preload_item_visuals, rect, this,
|
||||
GUI_ID_PRELOAD_ITEM_VISUALS_CB, wgettext("Preload item visuals"));
|
||||
GUI_ID_PRELOAD_ITEM_VISUALS_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175*2, option_y+20*2);
|
||||
wchar_t* text = wgettext("Enable Particles");
|
||||
Environment->addCheckBox(m_data->enable_particles, rect, this,
|
||||
GUI_ID_ENABLE_PARTICLES_CB, wgettext("Enable Particles"));
|
||||
GUI_ID_ENABLE_PARTICLES_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, option_w+20+20, 30);
|
||||
rect += m_topleft_client + v2s32(option_x+175*2, option_y+20*3);
|
||||
wchar_t* text = wgettext("Finite liquid");
|
||||
Environment->addCheckBox(m_data->liquid_finite, rect, this,
|
||||
GUI_ID_LIQUID_FINITE_CB, wgettext("Finite liquid"));
|
||||
GUI_ID_LIQUID_FINITE_CB, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
// Key change button
|
||||
@@ -765,8 +882,10 @@ void GUIMainMenu::regenerateGui(v2u32 screensize)
|
||||
/*rect += m_topleft_client + v2s32(m_size_client.X-120-30,
|
||||
m_size_client.Y-30-20);*/
|
||||
rect += m_topleft_client + v2s32(option_x, option_y+120);
|
||||
wchar_t* text = wgettext("Change keys");
|
||||
Environment->addButton(rect, this,
|
||||
GUI_ID_CHANGE_KEYS_BUTTON, wgettext("Change keys"));
|
||||
GUI_ID_CHANGE_KEYS_BUTTON, text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
@@ -822,7 +941,9 @@ void GUIMainMenu::drawMenu()
|
||||
if (!skin)
|
||||
return;
|
||||
video::IVideoDriver* driver = Environment->getVideoDriver();
|
||||
|
||||
|
||||
/* Draw menu background */
|
||||
|
||||
/*video::SColor bgcolor(140,0,0,0);
|
||||
driver->draw2DRectangle(bgcolor, AbsoluteRect, &AbsoluteClippingRect);*/
|
||||
|
||||
@@ -889,6 +1010,8 @@ void GUIMainMenu::drawMenu()
|
||||
}
|
||||
}
|
||||
|
||||
/* Draw UI elements */
|
||||
|
||||
gui::IGUIElement::draw();
|
||||
}
|
||||
|
||||
@@ -1013,8 +1136,13 @@ void GUIMainMenu::readInput(MainMenuData *dst)
|
||||
|
||||
{
|
||||
gui::IGUIElement *e = getElementFromId(GUI_ID_WORLD_LISTBOX);
|
||||
if(e != NULL && e->getType() == gui::EGUIET_LIST_BOX)
|
||||
dst->selected_world = ((gui::IGUIListBox*)e)->getSelected();
|
||||
if(e != NULL && e->getType() == gui::EGUIET_LIST_BOX){
|
||||
int list_i = ((gui::IGUIListBox*)e)->getSelected();
|
||||
if(list_i == -1)
|
||||
dst->selected_world = -1;
|
||||
else
|
||||
dst->selected_world = m_world_indices[list_i];
|
||||
}
|
||||
}
|
||||
{
|
||||
ServerListSpec server =
|
||||
@@ -1080,9 +1208,11 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
readInput(&cur);
|
||||
if (getTab() == TAB_MULTIPLAYER && cur.address == L"")
|
||||
{
|
||||
wchar_t* text = wgettext("Address required.");
|
||||
(new GUIMessageMenu(env, parent, -1, menumgr,
|
||||
wgettext("Address required."))
|
||||
text)
|
||||
)->drop();
|
||||
delete[] text;
|
||||
return true;
|
||||
}
|
||||
acceptInput();
|
||||
@@ -1098,9 +1228,11 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
MainMenuData cur;
|
||||
readInput(&cur);
|
||||
if(cur.selected_world == -1){
|
||||
wchar_t* text = wgettext("Cannot delete world: Nothing selected");
|
||||
(new GUIMessageMenu(env, parent, -1, menumgr,
|
||||
wgettext("Cannot delete world: Nothing selected"))
|
||||
text)
|
||||
)->drop();
|
||||
delete[] text;
|
||||
} else {
|
||||
WorldSpec spec = m_data->worlds[cur.selected_world];
|
||||
// Get files and directories involved
|
||||
@@ -1110,12 +1242,16 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
// Launch confirmation dialog
|
||||
ConfirmDestDeleteWorld *dest = new
|
||||
ConfirmDestDeleteWorld(spec, this, paths);
|
||||
std::wstring text = wgettext("Delete world");
|
||||
wchar_t* text1 = wgettext("Delete world");
|
||||
wchar_t* text2 = wgettext("Files to be deleted");
|
||||
std::wstring text = text1;
|
||||
text += L" \"";
|
||||
text += narrow_to_wide(spec.name);
|
||||
text += L"\"?\n\n";
|
||||
text += wgettext("Files to be deleted");
|
||||
text += text2;
|
||||
text += L":\n";
|
||||
delete[] text1;
|
||||
delete[] text2;
|
||||
for(u32 i=0; i<paths.size(); i++){
|
||||
if(i == 3){ text += L"..."; break; }
|
||||
text += narrow_to_wide(paths[i]) + L"\n";
|
||||
@@ -1126,16 +1262,18 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
return true;
|
||||
}
|
||||
case GUI_ID_CREATE_WORLD_BUTTON: {
|
||||
std::vector<SubgameSpec> games = getAvailableGames();
|
||||
const std::vector<SubgameSpec> &games = m_data->games;
|
||||
if(games.size() == 0){
|
||||
wchar_t* text = wgettext("Cannot create world: No games found");
|
||||
GUIMessageMenu *menu = new GUIMessageMenu(env, parent,
|
||||
-1, menumgr,
|
||||
wgettext("Cannot create world: No games found"));
|
||||
text);
|
||||
menu->drop();
|
||||
delete[] text;
|
||||
} else {
|
||||
CreateWorldDest *dest = new CreateWorldDestMainMenu(this);
|
||||
GUICreateWorld *menu = new GUICreateWorld(env, parent, -1,
|
||||
menumgr, dest, games);
|
||||
menumgr, dest, games, m_data->selected_game);
|
||||
menu->drop();
|
||||
}
|
||||
return true;
|
||||
@@ -1145,9 +1283,11 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
readInput(&cur);
|
||||
if(cur.selected_world == -1)
|
||||
{
|
||||
wchar_t* text = wgettext("Cannot configure world: Nothing selected");
|
||||
(new GUIMessageMenu(env, parent, -1, menumgr,
|
||||
wgettext("Cannot configure world: Nothing selected"))
|
||||
text)
|
||||
)->drop();
|
||||
delete[] text;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1180,8 +1320,12 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
if (m_data->selected_serverlist == SERVERLIST_PUBLIC) // switch to favorite list
|
||||
{
|
||||
m_data->servers = ServerList::getLocal();
|
||||
togglebutton->setText(wgettext("Show Public"));
|
||||
title->setText(wgettext("Favorites:"));
|
||||
wchar_t* text1 = wgettext("Show Public");
|
||||
wchar_t* text2 = wgettext("Favorites:");
|
||||
togglebutton->setText(text1);
|
||||
title->setText(text2);
|
||||
delete[] text1;
|
||||
delete[] text2;
|
||||
deletebutton->setVisible(true);
|
||||
updateGuiServerList();
|
||||
serverlist->setSelected(0);
|
||||
@@ -1190,8 +1334,12 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
else // switch to online list
|
||||
{
|
||||
m_data->servers = ServerList::getOnline();
|
||||
togglebutton->setText(wgettext("Show Favorites"));
|
||||
title->setText(wgettext("Public Server List:"));
|
||||
wchar_t* text1 = wgettext("Show Favorites");
|
||||
wchar_t* text2 = wgettext("Public Server List:");
|
||||
togglebutton->setText(text1);
|
||||
title->setText(text2);
|
||||
delete[] text1;
|
||||
delete[] text2;
|
||||
deletebutton->setVisible(false);
|
||||
updateGuiServerList();
|
||||
serverlist->setSelected(0);
|
||||
@@ -1201,17 +1349,42 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/* Game buttons */
|
||||
int eid = event.GUIEvent.Caller->getID();
|
||||
if(eid >= GUI_ID_GAME_BUTTON_FIRST &&
|
||||
eid <= GUI_ID_GAME_BUTTON_MAX){
|
||||
m_data->selected_game =
|
||||
m_data->games[eid - GUI_ID_GAME_BUTTON_FIRST].id;
|
||||
m_data->selected_game_name =
|
||||
m_data->games[eid - GUI_ID_GAME_BUTTON_FIRST].name;
|
||||
regenerateGui(m_screensize_old);
|
||||
}
|
||||
}
|
||||
if(event.GUIEvent.EventType==gui::EGET_EDITBOX_ENTER)
|
||||
{
|
||||
switch(event.GUIEvent.Caller->getID())
|
||||
{
|
||||
case GUI_ID_ADDRESS_INPUT: case GUI_ID_PORT_INPUT: case GUI_ID_NAME_INPUT: case 264:
|
||||
MainMenuData cur;
|
||||
readInput(&cur);
|
||||
if (getTab() == TAB_MULTIPLAYER && cur.address == L"")
|
||||
{
|
||||
wchar_t* text = wgettext("Address required.");
|
||||
(new GUIMessageMenu(env, parent, -1, menumgr,
|
||||
text)
|
||||
)->drop();
|
||||
delete[] text;
|
||||
return true;
|
||||
}
|
||||
acceptInput();
|
||||
quitMenu();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(event.GUIEvent.EventType==gui::EGET_LISTBOX_CHANGED)
|
||||
{
|
||||
readInput(m_data);
|
||||
}
|
||||
if(event.GUIEvent.EventType==gui::EGET_LISTBOX_SELECTED_AGAIN)
|
||||
{
|
||||
switch(event.GUIEvent.Caller->getID())
|
||||
@@ -1252,8 +1425,10 @@ void GUIMainMenu::deleteWorld(const std::vector<std::string> &paths)
|
||||
// Delete files
|
||||
bool did = fs::DeletePaths(paths);
|
||||
if(!did){
|
||||
wchar_t* text = wgettext("Failed to delete all world files");
|
||||
GUIMessageMenu *menu = new GUIMessageMenu(env, parent,
|
||||
-1, menumgr, wgettext("Failed to delete all world files"));
|
||||
-1, menumgr, text);
|
||||
delete[] text;
|
||||
menu->drop();
|
||||
}
|
||||
// Quit menu to refresh it
|
||||
|
||||
@@ -34,11 +34,22 @@ enum {
|
||||
SERVERLIST_PUBLIC,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
TAB_SINGLEPLAYER=0,
|
||||
TAB_MULTIPLAYER,
|
||||
TAB_ADVANCED,
|
||||
TAB_SETTINGS,
|
||||
TAB_CREDITS
|
||||
};
|
||||
|
||||
struct MainMenuData
|
||||
{
|
||||
// These are in the native format of the gui elements
|
||||
// Generic
|
||||
int selected_tab;
|
||||
std::string selected_game;
|
||||
std::string selected_game_name;
|
||||
// Client options
|
||||
std::string servername;
|
||||
std::string serverdescription;
|
||||
@@ -78,6 +89,8 @@ struct MainMenuData
|
||||
MainMenuData():
|
||||
// Generic
|
||||
selected_tab(0),
|
||||
selected_game("minetest"),
|
||||
selected_game_name("Minetest"),
|
||||
// Client opts
|
||||
fancy_trees(false),
|
||||
smooth_lighting(false),
|
||||
@@ -128,6 +141,8 @@ class GUIMainMenu : public GUIModalMenu
|
||||
s32 id;
|
||||
IMenuManager *menumgr;
|
||||
|
||||
std::vector<int> m_world_indices;
|
||||
|
||||
bool m_is_regenerating;
|
||||
v2s32 m_topleft_client;
|
||||
v2s32 m_size_client;
|
||||
|
||||
@@ -104,10 +104,12 @@ void GUIMessageMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, bw, 30);
|
||||
rect = rect + v2s32(size.X/2-bw/2, size.Y/2-30/2+5 + msg_h/2);
|
||||
wchar_t* text = wgettext("Proceed");
|
||||
gui::IGUIElement *e =
|
||||
Environment->addButton(rect, this, 257,
|
||||
wgettext("Proceed"));
|
||||
text);
|
||||
Environment->setFocus(e);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
|
||||
@@ -95,7 +95,6 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
|
||||
|
||||
v2s32 size = rect.getSize();
|
||||
v2s32 topleft_client(40, 0);
|
||||
v2s32 size_client = size - v2s32(40, 0);
|
||||
|
||||
/*
|
||||
Add stuff
|
||||
@@ -105,8 +104,9 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
rect += topleft_client + v2s32(35, ypos+6);
|
||||
Environment->addStaticText(wgettext("Old Password"),
|
||||
rect, false, true, this, -1);
|
||||
wchar_t* text = wgettext("Old Password");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -122,8 +122,9 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
rect += topleft_client + v2s32(35, ypos+6);
|
||||
Environment->addStaticText(wgettext("New Password"),
|
||||
rect, false, true, this, -1);
|
||||
wchar_t* text = wgettext("New Password");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -138,8 +139,9 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 110, 20);
|
||||
rect += topleft_client + v2s32(35, ypos+6);
|
||||
Environment->addStaticText(wgettext("Confirm Password"),
|
||||
rect, false, true, this, -1);
|
||||
wchar_t* text = wgettext("Confirm Password");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
{
|
||||
@@ -155,18 +157,22 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, 30);
|
||||
rect = rect + v2s32(size.X/2-140/2, ypos);
|
||||
Environment->addButton(rect, this, ID_change, wgettext("Change"));
|
||||
wchar_t* text = wgettext("Change");
|
||||
Environment->addButton(rect, this, ID_change, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
ypos += 50;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 300, 20);
|
||||
rect += topleft_client + v2s32(35, ypos);
|
||||
wchar_t* text = wgettext("Passwords do not match!");
|
||||
IGUIElement *e =
|
||||
Environment->addStaticText(
|
||||
wgettext("Passwords do not match!"),
|
||||
text,
|
||||
rect, false, true, this, ID_message);
|
||||
e->setVisible(false);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
|
||||
|
||||
@@ -119,8 +119,10 @@ void GUIPauseMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, btn_height);
|
||||
rect = rect + v2s32(size.X/2-140/2, btn_y);
|
||||
wchar_t* text = wgettext("Continue");
|
||||
Environment->addButton(rect, this, 256,
|
||||
wgettext("Continue"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
btn_y += btn_height + btn_gap;
|
||||
if(!m_simple_singleplayer_mode)
|
||||
@@ -128,48 +130,58 @@ void GUIPauseMenu::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, btn_height);
|
||||
rect = rect + v2s32(size.X/2-140/2, btn_y);
|
||||
wchar_t* text = wgettext("Change Password");
|
||||
Environment->addButton(rect, this, 261,
|
||||
wgettext("Change Password"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
btn_y += btn_height + btn_gap;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, btn_height);
|
||||
rect = rect + v2s32(size.X/2-140/2, btn_y);
|
||||
wchar_t* text = wgettext("Sound Volume");
|
||||
Environment->addButton(rect, this, 262,
|
||||
wgettext("Sound Volume"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
btn_y += btn_height + btn_gap;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, btn_height);
|
||||
rect = rect + v2s32(size.X/2-140/2, btn_y);
|
||||
wchar_t* text = wgettext("Exit to Menu");
|
||||
Environment->addButton(rect, this, 260,
|
||||
wgettext("Exit to Menu"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
btn_y += btn_height + btn_gap;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, btn_height);
|
||||
rect = rect + v2s32(size.X/2-140/2, btn_y);
|
||||
wchar_t* text = wgettext("Exit to OS");
|
||||
Environment->addButton(rect, this, 257,
|
||||
wgettext("Exit to OS"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 180, 240);
|
||||
rect = rect + v2s32(size.X/2 + 90, size.Y/2-rect.getHeight()/2);
|
||||
Environment->addStaticText(chartowchar_t(gettext(
|
||||
"Default Controls:\n"
|
||||
"- WASD: Walk\n"
|
||||
"- Mouse left: dig/hit\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- 0...9: select item\n"
|
||||
"- Shift: sneak\n"
|
||||
"- R: Toggle viewing all loaded chunks\n"
|
||||
"- I: Inventory menu\n"
|
||||
"- ESC: This menu\n"
|
||||
"- T: Chat\n"
|
||||
)), rect, false, true, this, 258);
|
||||
wchar_t* text = wgettext("Default Controls:\n"
|
||||
"- WASD: move\n"
|
||||
"- Space: jump/climb\n"
|
||||
"- Shift: sneak/go down\n"
|
||||
"- Q: drop item\n"
|
||||
"- I: inventory\n"
|
||||
"- Mouse: turn/look\n"
|
||||
"- Mouse left: dig/punch\n"
|
||||
"- Mouse right: place/use\n"
|
||||
"- Mouse wheel: select item\n"
|
||||
"- T: chat\n"
|
||||
);
|
||||
Environment->addStaticText(text, rect, false, true, this, 258);
|
||||
delete[] text;
|
||||
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 180, 220);
|
||||
|
||||
@@ -121,14 +121,19 @@ void GUITextInputMenu::regenerateGui(v2u32 screensize)
|
||||
evt.EventType = EET_KEY_INPUT_EVENT;
|
||||
evt.KeyInput.Key = KEY_END;
|
||||
evt.KeyInput.PressedDown = true;
|
||||
evt.KeyInput.Char = 0;
|
||||
evt.KeyInput.Control = 0;
|
||||
evt.KeyInput.Shift = 0;
|
||||
e->OnEvent(evt);
|
||||
}
|
||||
changeCtype("");
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 140, 30);
|
||||
rect = rect + v2s32(size.X/2-140/2, size.Y/2-30/2+25);
|
||||
wchar_t* text = wgettext("Proceed");
|
||||
Environment->addButton(rect, this, 257,
|
||||
wgettext("Proceed"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
changeCtype("C");
|
||||
}
|
||||
|
||||
@@ -96,7 +96,6 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize)
|
||||
|
||||
v2s32 size = rect.getSize();
|
||||
v2s32 topleft_client(40, 0);
|
||||
v2s32 size_client = size - v2s32(40, 0);
|
||||
int volume=(int)(g_settings->getFloat("sound_volume")*100);
|
||||
/*
|
||||
Add stuff
|
||||
@@ -105,8 +104,10 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 120, 20);
|
||||
rect = rect + v2s32(size.X/2-60, size.Y/2-35);
|
||||
Environment->addStaticText(wgettext("Sound Volume: "), rect, false,
|
||||
wchar_t* text = wgettext("Sound Volume: ");
|
||||
Environment->addStaticText(text, rect, false,
|
||||
true, this, ID_soundText1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 30, 20);
|
||||
@@ -117,8 +118,10 @@ void GUIVolumeChange::regenerateGui(v2u32 screensize)
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 80, 30);
|
||||
rect = rect + v2s32(size.X/2-80/2, size.Y/2+55);
|
||||
wchar_t* text = wgettext("Exit");
|
||||
Environment->addButton(rect, this, ID_soundExitButton,
|
||||
wgettext("Exit"));
|
||||
text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 300, 20);
|
||||
|
||||
338
src/hud.cpp
Normal file
338
src/hud.cpp
Normal file
@@ -0,0 +1,338 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
Copyright (C) 2010-2013 blue42u, Jonathon Anderson <anderjon@umail.iu.edu>
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include <IGUIStaticText.h>
|
||||
|
||||
#include "guiFormSpecMenu.h"
|
||||
#include "main.h"
|
||||
#include "util/numeric.h"
|
||||
#include "log.h"
|
||||
#include "client.h"
|
||||
#include "hud.h"
|
||||
|
||||
|
||||
Hud::Hud(video::IVideoDriver *driver, gui::IGUIEnvironment* guienv,
|
||||
gui::IGUIFont *font, u32 text_height, IGameDef *gamedef,
|
||||
LocalPlayer *player, Inventory *inventory) {
|
||||
this->driver = driver;
|
||||
this->guienv = guienv;
|
||||
this->font = font;
|
||||
this->text_height = text_height;
|
||||
this->gamedef = gamedef;
|
||||
this->player = player;
|
||||
this->inventory = inventory;
|
||||
|
||||
screensize = v2u32(0, 0);
|
||||
displaycenter = v2s32(0, 0);
|
||||
hotbar_imagesize = 48;
|
||||
|
||||
tsrc = gamedef->getTextureSource();
|
||||
|
||||
v3f crosshair_color = g_settings->getV3F("crosshair_color");
|
||||
u32 cross_r = rangelim(myround(crosshair_color.X), 0, 255);
|
||||
u32 cross_g = rangelim(myround(crosshair_color.Y), 0, 255);
|
||||
u32 cross_b = rangelim(myround(crosshair_color.Z), 0, 255);
|
||||
u32 cross_a = rangelim(g_settings->getS32("crosshair_alpha"), 0, 255);
|
||||
crosshair_argb = video::SColor(cross_a, cross_r, cross_g, cross_b);
|
||||
|
||||
v3f selectionbox_color = g_settings->getV3F("selectionbox_color");
|
||||
u32 sbox_r = rangelim(myround(selectionbox_color.X), 0, 255);
|
||||
u32 sbox_g = rangelim(myround(selectionbox_color.Y), 0, 255);
|
||||
u32 sbox_b = rangelim(myround(selectionbox_color.Z), 0, 255);
|
||||
selectionbox_argb = video::SColor(255, sbox_r, sbox_g, sbox_b);
|
||||
|
||||
use_crosshair_image = tsrc->isKnownSourceImage("crosshair.png");
|
||||
}
|
||||
|
||||
|
||||
//NOTE: selectitem = 0 -> no selected; selectitem 1-based
|
||||
void Hud::drawItem(v2s32 upperleftpos, s32 imgsize, s32 itemcount,
|
||||
InventoryList *mainlist, u16 selectitem, u16 direction)
|
||||
{
|
||||
s32 padding = imgsize / 12;
|
||||
s32 height = imgsize + padding * 2;
|
||||
s32 width = itemcount * (imgsize + padding * 2);
|
||||
if (direction == HUD_DIR_TOP_BOTTOM || direction == HUD_DIR_BOTTOM_TOP) {
|
||||
width = imgsize + padding * 2;
|
||||
height = itemcount * (imgsize + padding * 2);
|
||||
}
|
||||
s32 fullimglen = imgsize + padding * 2;
|
||||
|
||||
// Position of upper left corner of bar
|
||||
v2s32 pos = upperleftpos;
|
||||
|
||||
// Draw background color
|
||||
/*core::rect<s32> barrect(0,0,width,height);
|
||||
barrect += pos;
|
||||
video::SColor bgcolor(255,128,128,128);
|
||||
driver->draw2DRectangle(bgcolor, barrect, NULL);*/
|
||||
|
||||
core::rect<s32> imgrect(0, 0, imgsize, imgsize);
|
||||
|
||||
for (s32 i = 0; i < itemcount; i++)
|
||||
{
|
||||
const ItemStack &item = mainlist->getItem(i);
|
||||
|
||||
v2s32 steppos;
|
||||
switch (direction) {
|
||||
case HUD_DIR_RIGHT_LEFT:
|
||||
steppos = v2s32(-(padding + i * fullimglen), padding);
|
||||
break;
|
||||
case HUD_DIR_TOP_BOTTOM:
|
||||
steppos = v2s32(padding, padding + i * fullimglen);
|
||||
break;
|
||||
case HUD_DIR_BOTTOM_TOP:
|
||||
steppos = v2s32(padding, -(padding + i * fullimglen));
|
||||
break;
|
||||
default:
|
||||
steppos = v2s32(padding + i * fullimglen, padding);
|
||||
}
|
||||
|
||||
core::rect<s32> rect = imgrect + pos + steppos;
|
||||
|
||||
if (selectitem == i + 1)
|
||||
{
|
||||
video::SColor c_outside(255,255,0,0);
|
||||
//video::SColor c_outside(255,0,0,0);
|
||||
//video::SColor c_inside(255,192,192,192);
|
||||
s32 x1 = rect.UpperLeftCorner.X;
|
||||
s32 y1 = rect.UpperLeftCorner.Y;
|
||||
s32 x2 = rect.LowerRightCorner.X;
|
||||
s32 y2 = rect.LowerRightCorner.Y;
|
||||
// Black base borders
|
||||
driver->draw2DRectangle(c_outside,
|
||||
core::rect<s32>(
|
||||
v2s32(x1 - padding, y1 - padding),
|
||||
v2s32(x2 + padding, y1)
|
||||
), NULL);
|
||||
driver->draw2DRectangle(c_outside,
|
||||
core::rect<s32>(
|
||||
v2s32(x1 - padding, y2),
|
||||
v2s32(x2 + padding, y2 + padding)
|
||||
), NULL);
|
||||
driver->draw2DRectangle(c_outside,
|
||||
core::rect<s32>(
|
||||
v2s32(x1 - padding, y1),
|
||||
v2s32(x1, y2)
|
||||
), NULL);
|
||||
driver->draw2DRectangle(c_outside,
|
||||
core::rect<s32>(
|
||||
v2s32(x2, y1),
|
||||
v2s32(x2 + padding, y2)
|
||||
), NULL);
|
||||
/*// Light inside borders
|
||||
driver->draw2DRectangle(c_inside,
|
||||
core::rect<s32>(
|
||||
v2s32(x1 - padding/2, y1 - padding/2),
|
||||
v2s32(x2 + padding/2, y1)
|
||||
), NULL);
|
||||
driver->draw2DRectangle(c_inside,
|
||||
core::rect<s32>(
|
||||
v2s32(x1 - padding/2, y2),
|
||||
v2s32(x2 + padding/2, y2 + padding/2)
|
||||
), NULL);
|
||||
driver->draw2DRectangle(c_inside,
|
||||
core::rect<s32>(
|
||||
v2s32(x1 - padding/2, y1),
|
||||
v2s32(x1, y2)
|
||||
), NULL);
|
||||
driver->draw2DRectangle(c_inside,
|
||||
core::rect<s32>(
|
||||
v2s32(x2, y1),
|
||||
v2s32(x2 + padding/2, y2)
|
||||
), NULL);
|
||||
*/
|
||||
}
|
||||
|
||||
video::SColor bgcolor2(128, 0, 0, 0);
|
||||
driver->draw2DRectangle(bgcolor2, rect, NULL);
|
||||
drawItemStack(driver, font, item, rect, NULL, gamedef);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Hud::drawLuaElements() {
|
||||
for (size_t i = 0; i != player->hud.size(); i++) {
|
||||
HudElement *e = player->hud[i];
|
||||
if (!e)
|
||||
continue;
|
||||
|
||||
v2s32 pos(e->pos.X * screensize.X, e->pos.Y * screensize.Y);
|
||||
switch (e->type) {
|
||||
case HUD_ELEM_IMAGE: {
|
||||
video::ITexture *texture = tsrc->getTextureRaw(e->text);
|
||||
if (!texture)
|
||||
continue;
|
||||
|
||||
const video::SColor color(255, 255, 255, 255);
|
||||
const video::SColor colors[] = {color, color, color, color};
|
||||
core::dimension2di imgsize(texture->getOriginalSize());
|
||||
core::rect<s32> rect(0, 0, imgsize.Width * e->scale.X,
|
||||
imgsize.Height * e->scale.X);
|
||||
rect += pos;
|
||||
v2s32 offset((e->align.X - 1.0) * ((imgsize.Width * e->scale.X) / 2),
|
||||
(e->align.Y - 1.0) * ((imgsize.Height * e->scale.X) / 2));
|
||||
rect += offset;
|
||||
rect += v2s32(e->offset.X, e->offset.Y);
|
||||
driver->draw2DImage(texture, rect,
|
||||
core::rect<s32>(core::position2d<s32>(0,0), imgsize),
|
||||
NULL, colors, true);
|
||||
break; }
|
||||
case HUD_ELEM_TEXT: {
|
||||
video::SColor color(255, (e->number >> 16) & 0xFF,
|
||||
(e->number >> 8) & 0xFF,
|
||||
(e->number >> 0) & 0xFF);
|
||||
core::rect<s32> size(0, 0, e->scale.X, text_height * e->scale.Y);
|
||||
std::wstring text = narrow_to_wide(e->text);
|
||||
core::dimension2d<u32> textsize = font->getDimension(text.c_str());
|
||||
v2s32 offset((e->align.X - 1.0) * (textsize.Width / 2),
|
||||
(e->align.Y - 1.0) * (textsize.Height / 2));
|
||||
v2s32 offs(e->offset.X, e->offset.Y);
|
||||
font->draw(text.c_str(), size + pos + offset + offs, color);
|
||||
break; }
|
||||
case HUD_ELEM_STATBAR: {
|
||||
v2s32 offs(e->offset.X, e->offset.Y);
|
||||
drawStatbar(pos, HUD_CORNER_UPPER, e->dir, e->text, e->number, offs);
|
||||
break; }
|
||||
case HUD_ELEM_INVENTORY: {
|
||||
InventoryList *inv = inventory->getList(e->text);
|
||||
drawItem(pos, hotbar_imagesize, e->number, inv, e->item, e->dir);
|
||||
break; }
|
||||
default:
|
||||
infostream << "Hud::drawLuaElements: ignoring drawform " << e->type <<
|
||||
"of hud element ID " << i << " due to unrecognized type" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, std::string texture, s32 count, v2s32 offset) {
|
||||
const video::SColor color(255, 255, 255, 255);
|
||||
const video::SColor colors[] = {color, color, color, color};
|
||||
|
||||
video::ITexture *stat_texture = tsrc->getTextureRaw(texture);
|
||||
if (!stat_texture)
|
||||
return;
|
||||
|
||||
core::dimension2di srcd(stat_texture->getOriginalSize());
|
||||
|
||||
v2s32 p = pos;
|
||||
if (corner & HUD_CORNER_LOWER)
|
||||
p -= srcd.Height;
|
||||
|
||||
p += offset;
|
||||
|
||||
v2s32 steppos;
|
||||
switch (drawdir) {
|
||||
case HUD_DIR_RIGHT_LEFT:
|
||||
steppos = v2s32(-1, 0);
|
||||
break;
|
||||
case HUD_DIR_TOP_BOTTOM:
|
||||
steppos = v2s32(0, 1);
|
||||
break;
|
||||
case HUD_DIR_BOTTOM_TOP:
|
||||
steppos = v2s32(0, -1);
|
||||
break;
|
||||
default:
|
||||
steppos = v2s32(1, 0);
|
||||
}
|
||||
steppos.X *= srcd.Width;
|
||||
steppos.Y *= srcd.Height;
|
||||
|
||||
for (s32 i = 0; i < count / 2; i++)
|
||||
{
|
||||
core::rect<s32> srcrect(0, 0, srcd.Width, srcd.Height);
|
||||
core::rect<s32> dstrect(srcrect);
|
||||
|
||||
dstrect += p;
|
||||
driver->draw2DImage(stat_texture, dstrect, srcrect, NULL, colors, true);
|
||||
p += steppos;
|
||||
}
|
||||
|
||||
if (count % 2 == 1)
|
||||
{
|
||||
core::rect<s32> srcrect(0, 0, srcd.Width / 2, srcd.Height);
|
||||
core::rect<s32> dstrect(srcrect);
|
||||
|
||||
dstrect += p;
|
||||
driver->draw2DImage(stat_texture, dstrect, srcrect, NULL, colors, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Hud::drawHotbar(v2s32 centerlowerpos, s32 halfheartcount, u16 playeritem) {
|
||||
InventoryList *mainlist = inventory->getList("main");
|
||||
if (mainlist == NULL) {
|
||||
errorstream << "draw_hotbar(): mainlist == NULL" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
s32 hotbar_itemcount = player->hud_hotbar_itemcount;
|
||||
s32 padding = hotbar_imagesize / 12;
|
||||
s32 width = hotbar_itemcount * (hotbar_imagesize + padding * 2);
|
||||
v2s32 pos = centerlowerpos - v2s32(width / 2, hotbar_imagesize + padding * 2);
|
||||
|
||||
if (player->hud_flags & HUD_FLAG_HOTBAR_VISIBLE)
|
||||
drawItem(pos, hotbar_imagesize, hotbar_itemcount, mainlist, playeritem + 1, 0);
|
||||
if (player->hud_flags & HUD_FLAG_HEALTHBAR_VISIBLE)
|
||||
drawStatbar(pos - v2s32(0, 4), HUD_CORNER_LOWER, HUD_DIR_LEFT_RIGHT,
|
||||
"heart.png", halfheartcount, v2s32(0, 0));
|
||||
}
|
||||
|
||||
|
||||
void Hud::drawCrosshair() {
|
||||
if (!(player->hud_flags & HUD_FLAG_CROSSHAIR_VISIBLE))
|
||||
return;
|
||||
|
||||
if (use_crosshair_image) {
|
||||
video::ITexture *crosshair = tsrc->getTextureRaw("crosshair.png");
|
||||
v2u32 size = crosshair->getOriginalSize();
|
||||
v2s32 lsize = v2s32(displaycenter.X - (size.X / 2),
|
||||
displaycenter.Y - (size.Y / 2));
|
||||
driver->draw2DImage(crosshair, lsize,
|
||||
core::rect<s32>(0, 0, size.X, size.Y),
|
||||
0, crosshair_argb, true);
|
||||
} else {
|
||||
driver->draw2DLine(displaycenter - v2s32(10, 0),
|
||||
displaycenter + v2s32(10, 0), crosshair_argb);
|
||||
driver->draw2DLine(displaycenter - v2s32(0, 10),
|
||||
displaycenter + v2s32(0, 10), crosshair_argb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Hud::drawSelectionBoxes(std::vector<aabb3f> &hilightboxes) {
|
||||
for (std::vector<aabb3f>::const_iterator
|
||||
i = hilightboxes.begin();
|
||||
i != hilightboxes.end(); i++) {
|
||||
driver->draw3DBox(*i, selectionbox_argb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Hud::resizeHotbar() {
|
||||
if (screensize.Y <= 800)
|
||||
hotbar_imagesize = 32;
|
||||
else if (screensize.Y <= 1280)
|
||||
hotbar_imagesize = 48;
|
||||
else
|
||||
hotbar_imagesize = 64;
|
||||
}
|
||||
134
src/hud.h
Normal file
134
src/hud.h
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
Minetest
|
||||
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef HUD_HEADER
|
||||
#define HUD_HEADER
|
||||
|
||||
#include "irrlichttypes_extrabloated.h"
|
||||
|
||||
#define HUD_DIR_LEFT_RIGHT 0
|
||||
#define HUD_DIR_RIGHT_LEFT 1
|
||||
#define HUD_DIR_TOP_BOTTOM 2
|
||||
#define HUD_DIR_BOTTOM_TOP 3
|
||||
|
||||
#define HUD_CORNER_UPPER 0
|
||||
#define HUD_CORNER_LOWER 1
|
||||
#define HUD_CORNER_CENTER 2
|
||||
|
||||
#define HUD_FLAG_HOTBAR_VISIBLE (1 << 0)
|
||||
#define HUD_FLAG_HEALTHBAR_VISIBLE (1 << 1)
|
||||
#define HUD_FLAG_CROSSHAIR_VISIBLE (1 << 2)
|
||||
#define HUD_FLAG_WIELDITEM_VISIBLE (1 << 3)
|
||||
|
||||
#define HUD_PARAM_HOTBAR_ITEMCOUNT 1
|
||||
|
||||
#define HUD_HOTBAR_ITEMCOUNT_DEFAULT 8
|
||||
#define HUD_HOTBAR_ITEMCOUNT_MAX 23
|
||||
|
||||
class Player;
|
||||
|
||||
enum HudElementType {
|
||||
HUD_ELEM_IMAGE = 0,
|
||||
HUD_ELEM_TEXT = 1,
|
||||
HUD_ELEM_STATBAR = 2,
|
||||
HUD_ELEM_INVENTORY = 3
|
||||
};
|
||||
|
||||
enum HudElementStat {
|
||||
HUD_STAT_POS = 0,
|
||||
HUD_STAT_NAME,
|
||||
HUD_STAT_SCALE,
|
||||
HUD_STAT_TEXT,
|
||||
HUD_STAT_NUMBER,
|
||||
HUD_STAT_ITEM,
|
||||
HUD_STAT_DIR,
|
||||
HUD_STAT_ALIGN,
|
||||
HUD_STAT_OFFSET
|
||||
};
|
||||
|
||||
struct HudElement {
|
||||
HudElementType type;
|
||||
v2f pos;
|
||||
std::string name;
|
||||
v2f scale;
|
||||
std::string text;
|
||||
u32 number;
|
||||
u32 item;
|
||||
u32 dir;
|
||||
v2f align;
|
||||
v2f offset;
|
||||
};
|
||||
|
||||
|
||||
inline u32 hud_get_free_id(Player *player) {
|
||||
size_t size = player->hud.size();
|
||||
for (size_t i = 0; i != size; i++) {
|
||||
if (!player->hud[i])
|
||||
return i;
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
#ifndef SERVER
|
||||
|
||||
#include <IGUIFont.h>
|
||||
|
||||
#include "gamedef.h"
|
||||
#include "inventory.h"
|
||||
#include "localplayer.h"
|
||||
|
||||
class Hud {
|
||||
public:
|
||||
video::IVideoDriver *driver;
|
||||
gui::IGUIEnvironment *guienv;
|
||||
gui::IGUIFont *font;
|
||||
u32 text_height;
|
||||
IGameDef *gamedef;
|
||||
LocalPlayer *player;
|
||||
Inventory *inventory;
|
||||
ITextureSource *tsrc;
|
||||
|
||||
v2u32 screensize;
|
||||
v2s32 displaycenter;
|
||||
s32 hotbar_imagesize;
|
||||
|
||||
video::SColor crosshair_argb;
|
||||
video::SColor selectionbox_argb;
|
||||
bool use_crosshair_image;
|
||||
|
||||
Hud(video::IVideoDriver *driver, gui::IGUIEnvironment* guienv,
|
||||
gui::IGUIFont *font, u32 text_height, IGameDef *gamedef,
|
||||
LocalPlayer *player, Inventory *inventory);
|
||||
|
||||
void drawItem(v2s32 upperleftpos, s32 imgsize, s32 itemcount,
|
||||
InventoryList *mainlist, u16 selectitem, u16 direction);
|
||||
void drawLuaElements();
|
||||
void drawStatbar(v2s32 pos, u16 corner, u16 drawdir,
|
||||
std::string texture, s32 count, v2s32 offset);
|
||||
|
||||
void drawHotbar(v2s32 centerlowerpos, s32 halfheartcount, u16 playeritem);
|
||||
void resizeHotbar();
|
||||
|
||||
void drawCrosshair();
|
||||
void drawSelectionBoxes(std::vector<aabb3f> &hilightboxes);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -20,7 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "inventorymanager.h"
|
||||
#include "log.h"
|
||||
#include "environment.h"
|
||||
#include "scriptapi.h"
|
||||
#include "cpp_api/scriptapi.h"
|
||||
#include "serverobject.h"
|
||||
#include "main.h" // for g_settings
|
||||
#include "settings.h"
|
||||
@@ -226,9 +226,8 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
to_inv.type == InventoryLocation::DETACHED &&
|
||||
from_inv.name == to_inv.name)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
src_can_take_count = scriptapi_detached_inventory_allow_move(
|
||||
L, from_inv.name, from_list, from_i,
|
||||
src_can_take_count = PLAYER_TO_SA(player)->detached_inventory_AllowMove(
|
||||
from_inv.name, from_list, from_i,
|
||||
to_list, to_i, try_take_count, player);
|
||||
dst_can_put_count = src_can_take_count;
|
||||
}
|
||||
@@ -237,20 +236,18 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
// Destination is detached
|
||||
if(to_inv.type == InventoryLocation::DETACHED)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
ItemStack src_item = list_from->getItem(from_i);
|
||||
src_item.count = try_take_count;
|
||||
dst_can_put_count = scriptapi_detached_inventory_allow_put(
|
||||
L, to_inv.name, to_list, to_i, src_item, player);
|
||||
dst_can_put_count = PLAYER_TO_SA(player)->detached_inventory_AllowPut(
|
||||
to_inv.name, to_list, to_i, src_item, player);
|
||||
}
|
||||
// Source is detached
|
||||
if(from_inv.type == InventoryLocation::DETACHED)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
ItemStack src_item = list_from->getItem(from_i);
|
||||
src_item.count = try_take_count;
|
||||
src_can_take_count = scriptapi_detached_inventory_allow_take(
|
||||
L, from_inv.name, from_list, from_i, src_item, player);
|
||||
src_can_take_count = PLAYER_TO_SA(player)->detached_inventory_AllowTake(
|
||||
from_inv.name, from_list, from_i, src_item, player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,9 +259,8 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
to_inv.type == InventoryLocation::NODEMETA &&
|
||||
from_inv.p == to_inv.p)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
src_can_take_count = scriptapi_nodemeta_inventory_allow_move(
|
||||
L, from_inv.p, from_list, from_i,
|
||||
src_can_take_count = PLAYER_TO_SA(player)->nodemeta_inventory_AllowMove(
|
||||
from_inv.p, from_list, from_i,
|
||||
to_list, to_i, try_take_count, player);
|
||||
dst_can_put_count = src_can_take_count;
|
||||
}
|
||||
@@ -273,20 +269,18 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
// Destination is nodemeta
|
||||
if(to_inv.type == InventoryLocation::NODEMETA)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
ItemStack src_item = list_from->getItem(from_i);
|
||||
src_item.count = try_take_count;
|
||||
dst_can_put_count = scriptapi_nodemeta_inventory_allow_put(
|
||||
L, to_inv.p, to_list, to_i, src_item, player);
|
||||
dst_can_put_count = PLAYER_TO_SA(player)->nodemeta_inventory_AllowPut(
|
||||
to_inv.p, to_list, to_i, src_item, player);
|
||||
}
|
||||
// Source is nodemeta
|
||||
if(from_inv.type == InventoryLocation::NODEMETA)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
ItemStack src_item = list_from->getItem(from_i);
|
||||
src_item.count = try_take_count;
|
||||
src_can_take_count = scriptapi_nodemeta_inventory_allow_take(
|
||||
L, from_inv.p, from_list, from_i, src_item, player);
|
||||
src_can_take_count = PLAYER_TO_SA(player)->nodemeta_inventory_AllowTake(
|
||||
from_inv.p, from_list, from_i, src_item, player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -412,9 +406,8 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
to_inv.type == InventoryLocation::DETACHED &&
|
||||
from_inv.name == to_inv.name)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_detached_inventory_on_move(
|
||||
L, from_inv.name, from_list, from_i,
|
||||
PLAYER_TO_SA(player)->detached_inventory_OnMove(
|
||||
from_inv.name, from_list, from_i,
|
||||
to_list, to_i, count, player);
|
||||
}
|
||||
else
|
||||
@@ -422,16 +415,14 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
// Destination is detached
|
||||
if(to_inv.type == InventoryLocation::DETACHED)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_detached_inventory_on_put(
|
||||
L, to_inv.name, to_list, to_i, src_item, player);
|
||||
PLAYER_TO_SA(player)->detached_inventory_OnPut(
|
||||
to_inv.name, to_list, to_i, src_item, player);
|
||||
}
|
||||
// Source is detached
|
||||
if(from_inv.type == InventoryLocation::DETACHED)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_detached_inventory_on_take(
|
||||
L, from_inv.name, from_list, from_i, src_item, player);
|
||||
PLAYER_TO_SA(player)->detached_inventory_OnTake(
|
||||
from_inv.name, from_list, from_i, src_item, player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -442,25 +433,22 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
to_inv.type == InventoryLocation::NODEMETA &&
|
||||
from_inv.p == to_inv.p)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_nodemeta_inventory_on_move(
|
||||
L, from_inv.p, from_list, from_i,
|
||||
PLAYER_TO_SA(player)->nodemeta_inventory_OnMove(
|
||||
from_inv.p, from_list, from_i,
|
||||
to_list, to_i, count, player);
|
||||
}
|
||||
else{
|
||||
// Destination is nodemeta
|
||||
if(to_inv.type == InventoryLocation::NODEMETA)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_nodemeta_inventory_on_put(
|
||||
L, to_inv.p, to_list, to_i, src_item, player);
|
||||
PLAYER_TO_SA(player)->nodemeta_inventory_OnPut(
|
||||
to_inv.p, to_list, to_i, src_item, player);
|
||||
}
|
||||
// Source is nodemeta
|
||||
else if(from_inv.type == InventoryLocation::NODEMETA)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_nodemeta_inventory_on_take(
|
||||
L, from_inv.p, from_list, from_i, src_item, player);
|
||||
PLAYER_TO_SA(player)->nodemeta_inventory_OnTake(
|
||||
from_inv.p, from_list, from_i, src_item, player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -563,21 +551,19 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
// Source is detached
|
||||
if(from_inv.type == InventoryLocation::DETACHED)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
ItemStack src_item = list_from->getItem(from_i);
|
||||
src_item.count = take_count;
|
||||
src_can_take_count = scriptapi_detached_inventory_allow_take(
|
||||
L, from_inv.name, from_list, from_i, src_item, player);
|
||||
src_can_take_count = PLAYER_TO_SA(player)->detached_inventory_AllowTake(
|
||||
from_inv.name, from_list, from_i, src_item, player);
|
||||
}
|
||||
|
||||
// Source is nodemeta
|
||||
if(from_inv.type == InventoryLocation::NODEMETA)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
ItemStack src_item = list_from->getItem(from_i);
|
||||
src_item.count = take_count;
|
||||
src_can_take_count = scriptapi_nodemeta_inventory_allow_take(
|
||||
L, from_inv.p, from_list, from_i, src_item, player);
|
||||
src_can_take_count = PLAYER_TO_SA(player)->nodemeta_inventory_AllowTake(
|
||||
from_inv.p, from_list, from_i, src_item, player);
|
||||
}
|
||||
|
||||
if(src_can_take_count != -1 && src_can_take_count < take_count)
|
||||
@@ -590,7 +576,7 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
// Drop the item
|
||||
ItemStack item1 = list_from->getItem(from_i);
|
||||
item1.count = take_count;
|
||||
if(scriptapi_item_on_drop(player->getEnv()->getLua(), item1, player,
|
||||
if(PLAYER_TO_SA(player)->item_OnDrop(item1, player,
|
||||
player->getBasePosition() + v3f(0,1,0)))
|
||||
{
|
||||
actually_dropped_count = take_count - item1.count;
|
||||
@@ -627,17 +613,15 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
|
||||
// Source is detached
|
||||
if(from_inv.type == InventoryLocation::DETACHED)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_detached_inventory_on_take(
|
||||
L, from_inv.name, from_list, from_i, src_item, player);
|
||||
PLAYER_TO_SA(player)->detached_inventory_OnTake(
|
||||
from_inv.name, from_list, from_i, src_item, player);
|
||||
}
|
||||
|
||||
// Source is nodemeta
|
||||
if(from_inv.type == InventoryLocation::NODEMETA)
|
||||
{
|
||||
lua_State *L = player->getEnv()->getLua();
|
||||
scriptapi_nodemeta_inventory_on_take(
|
||||
L, from_inv.p, from_list, from_i, src_item, player);
|
||||
PLAYER_TO_SA(player)->nodemeta_inventory_OnTake(
|
||||
from_inv.p, from_list, from_i, src_item, player);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -226,10 +226,11 @@ class CItemDefManager: public IWritableItemDefManager
|
||||
public:
|
||||
CItemDefManager()
|
||||
{
|
||||
|
||||
#ifndef SERVER
|
||||
m_main_thread = get_current_thread_id();
|
||||
m_driver = NULL;
|
||||
#endif
|
||||
|
||||
clear();
|
||||
}
|
||||
virtual ~CItemDefManager()
|
||||
@@ -240,9 +241,25 @@ class CItemDefManager: public IWritableItemDefManager
|
||||
i = values.begin(); i != values.end(); ++i)
|
||||
{
|
||||
ClientCached *cc = *i;
|
||||
cc->wield_mesh->drop();
|
||||
if (cc->wield_mesh)
|
||||
cc->wield_mesh->drop();
|
||||
delete cc;
|
||||
}
|
||||
|
||||
if (m_driver != NULL) {
|
||||
for (unsigned int i = 0; i < m_extruded_textures.size(); i++) {
|
||||
m_driver->removeTexture(m_extruded_textures[i]);
|
||||
}
|
||||
m_extruded_textures.clear();
|
||||
}
|
||||
m_driver = NULL;
|
||||
#endif
|
||||
for (std::map<std::string, ItemDefinition*>::iterator iter =
|
||||
m_item_definitions.begin(); iter != m_item_definitions.end();
|
||||
iter ++) {
|
||||
delete iter->second;
|
||||
}
|
||||
m_item_definitions.clear();
|
||||
}
|
||||
virtual const ItemDefinition& get(const std::string &name_) const
|
||||
{
|
||||
@@ -290,6 +307,10 @@ class CItemDefManager: public IWritableItemDefManager
|
||||
return m_item_definitions.find(name) != m_item_definitions.end();
|
||||
}
|
||||
#ifndef SERVER
|
||||
private:
|
||||
static video::IVideoDriver * m_driver;
|
||||
static std::vector<video::ITexture*> m_extruded_textures;
|
||||
public:
|
||||
ClientCached* createClientCachedDirect(const std::string &name,
|
||||
IGameDef *gamedef) const
|
||||
{
|
||||
@@ -328,11 +349,7 @@ class CItemDefManager: public IWritableItemDefManager
|
||||
}
|
||||
|
||||
// Create a wield mesh
|
||||
if(cc->wield_mesh != NULL)
|
||||
{
|
||||
cc->wield_mesh->drop();
|
||||
cc->wield_mesh = NULL;
|
||||
}
|
||||
assert(cc->wield_mesh == NULL);
|
||||
if(def->type == ITEM_NODE && def->wield_image == "")
|
||||
{
|
||||
need_node_mesh = true;
|
||||
@@ -432,20 +449,27 @@ class CItemDefManager: public IWritableItemDefManager
|
||||
tsrc->getTextureRaw(f.tiledef[0].name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_driver == 0)
|
||||
m_driver = driver;
|
||||
|
||||
m_extruded_textures.push_back(cc->inventory_texture);
|
||||
}
|
||||
|
||||
/*
|
||||
Use the node mesh as the wield mesh
|
||||
*/
|
||||
if(cc->wield_mesh == NULL)
|
||||
{
|
||||
// Scale to proper wield mesh proportions
|
||||
scaleMesh(node_mesh, v3f(30.0, 30.0, 30.0)
|
||||
* def->wield_scale);
|
||||
cc->wield_mesh = node_mesh;
|
||||
cc->wield_mesh->grab();
|
||||
}
|
||||
|
||||
// falling outside of here deletes node_mesh
|
||||
// Scale to proper wield mesh proportions
|
||||
scaleMesh(node_mesh, v3f(30.0, 30.0, 30.0)
|
||||
* def->wield_scale);
|
||||
|
||||
cc->wield_mesh = node_mesh;
|
||||
cc->wield_mesh->grab();
|
||||
|
||||
//no way reference count can be smaller than 2 in this place!
|
||||
assert(cc->wield_mesh->getReferenceCount() >= 2);
|
||||
}
|
||||
|
||||
// Put in cache
|
||||
@@ -658,3 +682,8 @@ IWritableItemDefManager* createItemDefManager()
|
||||
return new CItemDefManager();
|
||||
}
|
||||
|
||||
#ifndef SERVER
|
||||
//TODO very very very dirty hack!
|
||||
video::IVideoDriver * CItemDefManager::m_driver = 0;
|
||||
std::vector<video::ITexture*> CItemDefManager::m_extruded_textures;
|
||||
#endif
|
||||
|
||||
@@ -57,6 +57,7 @@ class JMutex
|
||||
int Lock();
|
||||
int Unlock();
|
||||
bool IsInitialized() { return initialized; }
|
||||
|
||||
private:
|
||||
#if (defined(WIN32) || defined(_WIN32_WCE))
|
||||
#ifdef JMUTEX_CRITICALSECTION
|
||||
@@ -66,6 +67,14 @@ class JMutex
|
||||
#endif // JMUTEX_CRITICALSECTION
|
||||
#else // pthread mutex
|
||||
pthread_mutex_t mutex;
|
||||
|
||||
bool IsLocked() {
|
||||
if (pthread_mutex_trylock(&mutex)) {
|
||||
pthread_mutex_unlock(&mutex);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // WIN32
|
||||
bool initialized;
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user