I have not tested this
master
Maksim Gamarnik 2015-12-28 11:26:50 +02:00
commit 23614e9479
29 changed files with 2109 additions and 1300 deletions

View File

@ -17,12 +17,16 @@
--------------------------------------------------------------------------------
local function filter_texture_pack_list(list)
local retval = {fgettext("None")}
local retval = {}
for _, item in ipairs(list) do
if item ~= "base" then
table.insert(retval, item)
end
end
table.sort(retval)
table.insert(retval, 1, fgettext("None"))
return retval
end

View File

@ -2544,6 +2544,19 @@ This is basically a reference to a C++ `ServerActiveObject`
* `set_properties(object property table)`
* `get_properties()`: returns object property table
* `is_player()`: returns true for players, false otherwise
* `get_nametag_attributes()`
* returns a table with the attributes of the nametag of an object
* {
color = {a=0..255, r=0..255, g=0..255, b=0..255},
text = "",
}
* `set_nametag_attributes(attributes)`
* sets the attributes of the nametag of an object
* `attributes`:
{
color = ColorSpec,
text = "My Nametag",
}
##### LuaEntitySAO-only (no-op for other objects)
* `setvelocity({x=num, y=num, z=num})`
@ -2644,17 +2657,6 @@ This is basically a reference to a C++ `ServerActiveObject`
* in first person view
* in third person view (max. values `{x=-10/10,y=-10,15,z=-5/5}`)
* `get_eye_offset()`: returns offset_first and offset_third
* `get_nametag_attributes()`
* returns a table with the attributes of the nametag of the player
* {
color = {a=0..255, r=0..255, g=0..255, b=0..255},
}
* `set_nametag_attributes(attributes)`
* sets the attributes of the nametag of the player
* `attributes`:
{
color = ColorSpec,
}
### `InvRef`
An `InvRef` is a reference to an inventory.
@ -3231,7 +3233,11 @@ Definition tables
stepheight = 0,
automatic_face_movement_dir = 0.0,
-- ^ automatically set yaw to movement direction; offset in degrees; false to disable
automatic_face_movement_max_rotation_per_sec = -1,
-- ^ limit automatic rotation to this value in degrees per second. values < 0 no limit
backface_culling = true, -- false to disable backface_culling for model
nametag = "", -- by default empty, for players their name is shown if empty
nametag_color = <color>, -- sets color of nametag as ColorSpec
}
### Entity definition (`register_entity`)

View File

@ -7,18 +7,10 @@
# ../multicraft.conf
# ../../multicraft.conf
# Any other path can be chosen by passing the path as a parameter
# to the program, eg. "multicraft.exe --config ../multicraft.conf.example".
# to the program, eg. "minetest.exe --config ../multicraft.conf.example".
# By default, all the settings are commented and not functional.
# Uncomment settings by removing the preceding #.
# NOTE: This file might not be up-to-date, refer to the
# defaultsettings.cpp file for an up-to-date list:
# src/defaultsettings.cpp
# A vim command to convert most of defaultsettings.cpp to conf file format:
# :'<,'>s/\tsettings->setDefault("\([^"]*\)", "\([^"]*\)");.*/#\1 = \2/g
# Note: Some of the settings are implemented in Lua.
# Further documentation:
# http://wiki.minetest.net/
#
# Client
@ -262,7 +254,7 @@
# URL to the server list displayed in the Multiplayer Tab.
# type: string
# serverlist_url = servers.multicraft.net
# serverlist_url = servers.minetest.net
# File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab.
# type: string
@ -703,7 +695,7 @@
# Name of the server, to be displayed when players join and in the serverlist.
# type: string
# server_name = multicraft server
# server_name = Minetest server
# Description of server, to be displayed when players join and in the serverlist.
# type: string
@ -711,20 +703,20 @@
# Domain name of server, to be displayed in the serverlist.
# type: string
# server_address = game.multicraft.net
# server_address = game.minetest.net
# Homepage of server, to be displayed in the serverlist.
# type: string
# server_url = http://multicraft.net
# server_url = http://minetest.net
# Automaticaly report to the serverlist.
# type: bool
# server_announce = false
# Announce to this serverlist.
# If you want to announce your ipv6 address, use serverlist_url = v6.servers.multicraft.net.
# If you want to announce your ipv6 address, use serverlist_url = v6.servers.minetest.net.
# type: string
# serverlist_url = servers.multicraft.net
# serverlist_url = servers.minetest.net
## Network
@ -782,7 +774,7 @@
# Default game when creating a new world.
# This will be overridden when creating a world from the main menu.
# type: string
# default_game = multicraft
# default_game = minetest
# Message of the day displayed to players connecting.
# type: string
@ -1008,7 +1000,7 @@
# Name of map generator to be used when creating a new world.
# Creating a world in the main menu will override this.
# type: enum values: v5, v6, v7, singlenode
# type: enum values: v5, v6, v7, flat, fractal, singlenode
# mg_name = v6
# Water surface level of the world.
@ -1029,11 +1021,12 @@
# map_generation_limit = 31000
# Global map generation attributes.
# In Mapgen v6 the 'decorations' flag controls all decorations except trees
# and junglegrass, in all other mapgens this flag controls all decorations.
# Flags that are not specified in the flag string are not modified from the default.
# Flags starting with "no" are used to explicitly disable them.
# 'trees' and 'flat' flags only have effect in mgv6.
# type: flags possible values: trees, caves, dungeons, light, flat, notrees, nocaves, nodungeons, nolight, noflat
# mg_flags = trees,caves,dungeons,light
# type: flags possible values: caves, dungeons, light, decorations, nocaves, nodungeons, nolight, nodecorations
# mg_flags = caves,dungeons,light,decorations
### Advanced
@ -1097,14 +1090,14 @@
#### Mapgen v6
# Map generation attributes specific to Mapgen V6.
# Map generation attributes specific to Mapgen v6.
# When snowbiomes are enabled jungles are enabled and the jungles flag is ignored.
# Flags that are not specified in the flag string are not modified from the default.
# Flags starting with "no" are used to explicitly disable them.
# type: flags possible values: jungles, biomeblend, mudflow, snowbiomes, nojungles, nobiomeblend, nomudflow, nosnowbiomes
# mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes
# type: flags possible values: jungles, biomeblend, mudflow, snowbiomes, flat, trees, nojungles, nobiomeblend, nomudflow, nosnowbiomes, noflat, notrees
# mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,trees
# Controls size of deserts and beaches in Mapgen V6.
# Controls size of deserts and beaches in Mapgen v6.
# When snowbiomes are enabled 'mgv6_freq_desert' is ignored.
# type: float
# mgv6_freq_desert = 0.45
@ -1147,7 +1140,7 @@
#### Mapgen v7
# Map generation attributes specific to Mapgen V7.
# Map generation attributes specific to Mapgen v7.
# 'ridges' are the rivers.
# Flags that are not specified in the flag string are not modified from the default.
# Flags starting with "no" are used to explicitly disable them.
@ -1241,20 +1234,30 @@
#### Mapgen fractal
# Choice of 8 4-dimensional fractals.
# 1 = "Roundy" mandelbrot set.
# 2 = "Roundy" julia set.
# 3 = "Squarry" mandelbrot set.
# 4 = "Squarry" julia set.
# 5 = "Mandy Cousin" mandelbrot set.
# 6 = "Mandy Cousin" julia set.
# 7 = "Variation" mandelbrot set.
# 8 = "Variation" julia set.
# type: int min: 1 max: 8
# mgfractal_formula = 1
# Choice of 18 fractals from 9 formulas.
# 1 = 4D "Roundy" mandelbrot set.
# 2 = 4D "Roundy" julia set.
# 3 = 4D "Squarry" mandelbrot set.
# 4 = 4D "Squarry" julia set.
# 5 = 4D "Mandy Cousin" mandelbrot set.
# 6 = 4D "Mandy Cousin" julia set.
# 7 = 4D "Variation" mandelbrot set.
# 8 = 4D "Variation" julia set.
# 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set.
# 10 = 3D "Mandelbrot/Mandelbar" julia set.
# 11 = 3D "Christmas Tree" mandelbrot set.
# 12 = 3D "Christmas Tree" julia set.
# 13 = 3D "Mandelbulb" mandelbrot set.
# 14 = 3D "Mandelbulb" julia set.
# 15 = 3D "Cosine Mandelbulb" mandelbrot set.
# 16 = 3D "Cosine Mandelbulb" julia set.
# 17 = 4D "Mandelbulb" mandelbrot set.
# 18 = 4D "Mandelbulb" julia set.
# type: int min: 1 max: 18
# mgfractal_fractal = 1
# Iterations of the recursive function.
# Controls scale of finest detail.
# Controls the amount of fine detail.
# type: int
# mgfractal_iterations = 11
@ -1262,36 +1265,37 @@
# type: v3f
# mgfractal_scale = (4096.0, 1024.0, 4096.0)
# (X,Y,Z) offset of fractal from world centre.
# (X,Y,Z) offset of fractal from world centre in units of 'scale'.
# Used to move a suitable spawn area of low land close to (0, 0).
# The default is suitable for mandelbrot sets, it needs to be edited for julia sets,
# do this by greatly reducing 'scale' and setting 'offset' initially to (0, 0, 0).
# The default is suitable for mandelbrot sets, it needs to be edited for julia sets.
# Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
# type: v3f
# mgfractal_offset = (1.79, 0.0, 0.0)
# W co-ordinate of the generated 3D slice of the 4D shape.
# Alters the generated 3D shape.
# W co-ordinate of the generated 3D slice of a 4D fractal.
# Determines which 3D slice of the 4D shape is generated.
# Has no effect on 3D fractals.
# Range roughly -2 to 2.
# type: float
# mgfractal_slice_w = 0.0
# Julia set only: X value determining the 4D shape.
# Julia set only: X component of hypercomplex constant determining julia shape.
# Range roughly -2 to 2.
# type: float
# mgfractal_julia_x = 0.33
# Julia set only: Y value determining the 4D shape.
# Julia set only: Y component of hypercomplex constant determining julia shape.
# Range roughly -2 to 2.
# type: float
# mgfractal_julia_y = 0.33
# Julia set only: Z value determining the 4D shape.
# Julia set only: Z component of hypercomplex constant determining julia shape.
# Range roughly -2 to 2.
# type: float
# mgfractal_julia_z = 0.33
# Julia set only: W value determining the 4D shape.
# Julia set only: W component of hypercomplex constant determining julia shape.
# Has no effect on 3D fractals.
# Range roughly -2 to 2.
# type: float
# mgfractal_julia_w = 0.33
@ -1383,16 +1387,10 @@
# main_menu_mod_mgr = 1
# type: string
# modstore_download_url = https://forum.multicraft.net/media/
# modstore_download_url = https://forum.minetest.net/media/
# type: string
# modstore_listmods_url = https://forum.multicraft.net/mmdb/mods/
# modstore_listmods_url = https://forum.minetest.net/mmdb/mods/
# type: string
# modstore_details_url = https://forum.multicraft.net/mmdb/mod/*/
# Prevent mods from doing insecure things like running shell commands.
#secure.enable_security = false
# Comma-separated list of trusted mods that are allowed to access insecure
# functions even when mod security is on (via request_insecure_environment()).
#secure.trusted_mods =
# modstore_details_url = https://forum.minetest.net/mmdb/mod/*/

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-11-11 12:12+0000\n"
"PO-Revision-Date: 2015-11-19 16:52+0000\n"
"Last-Translator: Kristjan Räts <kristjanrats@gmail.com>\n"
"Language-Team: Estonian "
"<https://hosted.weblate.org/projects/minetest/minetest/et/>\n"
@ -21,11 +21,11 @@ msgstr ""
#: builtin/fstk/ui.lua
msgid "An error occured in a Lua script, such as a mod:"
msgstr ""
msgstr "Lue skriptis ilmnes viga; nagu näiteks mod:"
#: builtin/fstk/ui.lua
msgid "An error occured:"
msgstr ""
msgstr "Ilmnes viga:"
#: builtin/fstk/ui.lua
msgid "Main menu"
@ -41,35 +41,37 @@ msgstr "Taasta ühendus"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
msgstr ""
msgstr "Server taotles taasühendumist:"
#: builtin/mainmenu/common.lua src/game.cpp
msgid "Loading..."
msgstr ""
msgstr "Laadimine..."
#: builtin/mainmenu/common.lua
msgid "Protocol version mismatch. "
msgstr ""
msgstr "Protokolli versioon ei sobi. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
msgstr ""
msgstr "Server jõustab protokolli versiooni $1. "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
msgstr ""
msgstr "Server toetab protokolli versioone $1 kuni $2. "
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
msgstr ""
"Proovi lubada uuesti avalik serverite loend ja kontrollo oma Interneti "
"ühendust."
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
msgstr ""
msgstr "Meie toetame ainult protokolli versiooni $1."
#: builtin/mainmenu/common.lua
msgid "We support protocol versions between version $1 and $2."
msgstr ""
msgstr "Meie toetame protokolli versioone $1 kuni $2."
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_rename_modpack.lua builtin/mainmenu/tab_settings.lua
@ -98,6 +100,8 @@ msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"chararacters [a-z0-9_] are allowed."
msgstr ""
"Mod \"$1\" kasutamine nurjus, sest ka sisaldab keelatud sümboleid. Lubatud "
"märgid on ainult [a-z0-9_]."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Hide Game"
@ -105,11 +109,11 @@ msgstr "Peida mäng"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Hide mp content"
msgstr ""
msgstr "Peida mod. pakkide sisu"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
msgstr ""
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_settings.lua
#: src/guiKeyChangeMenu.cpp
@ -134,11 +138,11 @@ msgstr "Loo"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download a subgame, such as minetest_game, from minetest.net"
msgstr ""
msgstr "Laadi alla alammäng, näiteks minetest_game, aadressilt minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
msgstr ""
msgstr "Laadi minetest.net-st üks mäng alla"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
@ -154,11 +158,11 @@ msgstr "No nimi või no mäng valitud"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Seed"
msgstr ""
msgstr "Seed"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
msgstr ""
msgstr "Hoiatus: minimaalne arendustest on mõeldud arendajatele."
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
@ -166,7 +170,7 @@ msgstr "Maailma nimi"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no subgames installed."
msgstr ""
msgstr "Sa ei ole alammänge paigaldanud."
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Are you sure you want to delete \"$1\"?"

View File

@ -10,8 +10,8 @@ msgstr ""
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-10-26 16:22+0200\n"
"Last-Translator: ChaosWormz <chaoswormz@openmailbox.org>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/minetest/minetest/"
"he/>\n"
"Language-Team: Hebrew "
"<https://hosted.weblate.org/projects/minetest/minetest/he/>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -78,7 +78,6 @@ msgid "Cancel"
msgstr "ביטול"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_mods.lua
#, fuzzy
msgid "Depends:"
msgstr "תלוי ב:"
@ -91,7 +90,6 @@ msgid "Enable MP"
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
msgid "Enable all"
msgstr "אפשר בכל"
@ -110,7 +108,6 @@ msgid "Hide mp content"
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
msgid "Mod:"
msgstr "מוד:"
@ -124,7 +121,6 @@ msgid "World:"
msgstr "עולם:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
msgid "enabled"
msgstr "מופעל"
@ -201,7 +197,6 @@ msgid "No"
msgstr "לא"
#: builtin/mainmenu/dlg_rename_modpack.lua src/keycode.cpp
#, fuzzy
msgid "Accept"
msgstr "קבל"
@ -281,7 +276,7 @@ msgstr ""
#: builtin/mainmenu/tab_credits.lua
msgid "Credits"
msgstr ""
msgstr "קרדיטים"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Contributors"
@ -301,7 +296,7 @@ msgstr ""
#: builtin/mainmenu/tab_mods.lua builtin/mainmenu/tab_settings.lua
msgid "Mods"
msgstr ""
msgstr "מודים"
#: builtin/mainmenu/tab_mods.lua
msgid "No mod description available"
@ -325,16 +320,15 @@ msgstr ""
#: builtin/mainmenu/tab_multiplayer.lua
msgid "Address / Port :"
msgstr ""
msgstr "כתובת / פורט :"
#: builtin/mainmenu/tab_multiplayer.lua src/settings_translation_file.cpp
#, fuzzy
msgid "Client"
msgstr "קלינט"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
msgid "Connect"
msgstr ""
msgstr "התחבר"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
msgid "Creative mode"
@ -347,19 +341,19 @@ msgstr ""
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_server.lua
#: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp
msgid "Delete"
msgstr ""
msgstr "מחק"
#: builtin/mainmenu/tab_multiplayer.lua
msgid "Name / Password :"
msgstr ""
msgstr "שם/סיסמה :"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
msgid "Public Serverlist"
msgstr ""
msgstr "רשימת שרתים פומבי"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
msgstr ""
msgstr "PvP אפשר"
#: builtin/mainmenu/tab_server.lua
msgid "Bind Address"
@ -367,45 +361,45 @@ msgstr ""
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua
msgid "Configure"
msgstr ""
msgstr "קביעת תצורה"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua
#: builtin/mainmenu/tab_singleplayer.lua
msgid "Creative Mode"
msgstr ""
msgstr "משחק יצירתי"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua
#: builtin/mainmenu/tab_singleplayer.lua
msgid "Enable Damage"
msgstr ""
msgstr "אפשר נזק"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name/Password"
msgstr ""
msgstr "שם/סיסמה"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua
msgid "New"
msgstr ""
msgstr "חדש"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua
msgid "No world created or selected!"
msgstr ""
msgstr "אין עולם נוצר או נבחר!"
#: builtin/mainmenu/tab_server.lua
msgid "Port"
msgstr ""
msgstr "פורט"
#: builtin/mainmenu/tab_server.lua
msgid "Public"
msgstr ""
msgstr "ציבורי"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua
msgid "Select World:"
msgstr ""
msgstr "בחר עולם:"
#: builtin/mainmenu/tab_server.lua
msgid "Server"
msgstr ""
msgstr "שרת"
#: builtin/mainmenu/tab_server.lua
msgid "Server Port"
@ -413,7 +407,7 @@ msgstr ""
#: builtin/mainmenu/tab_server.lua
msgid "Start Game"
msgstr ""
msgstr "התחל משחק"
#: builtin/mainmenu/tab_settings.lua
msgid "\"$1\" is not a valid flag."
@ -455,7 +449,7 @@ msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "Games"
msgstr ""
msgstr "משחקים"
#: builtin/mainmenu/tab_settings.lua
msgid "Optionally the lacunarity can be appended with a leading comma."
@ -515,7 +509,7 @@ msgstr ""
#: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp
msgid "Play"
msgstr ""
msgstr "שחק"
#: builtin/mainmenu/tab_singleplayer.lua
msgid "Singleplayer"
@ -535,7 +529,7 @@ msgstr ""
#: builtin/mainmenu/tab_texturepacks.lua
msgid "Texturepacks"
msgstr ""
msgstr "חבילות מרקם"
#: src/client.cpp
msgid "Connection timed out."
@ -3126,7 +3120,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Server / Singleplayer"
msgstr ""
msgstr "שרת"
#: src/settings_translation_file.cpp
msgid "Server URL"

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Minetest 0.4.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-11-14 22:10+0000\n"
"Last-Translator: LelixSuperHD <lele98super@gmail.com>\n"
"PO-Revision-Date: 2015-12-21 22:09+0000\n"
"Last-Translator: Gianluca Luparini <gianlucalup@openmailbox.org>\n"
"Language-Team: Italian "
"<https://hosted.weblate.org/projects/minetest/minetest/it/>\n"
"Language: it\n"
@ -38,7 +38,7 @@ msgstr "Ok"
#: builtin/fstk/ui.lua
msgid "Reconnect"
msgstr "Riconnettiti"
msgstr "Riconnettersi"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
@ -240,7 +240,6 @@ msgstr ""
"per il pacchetto moduli $1"
#: builtin/mainmenu/store.lua
#, fuzzy
msgid "Close store"
msgstr "Chiudi deposito"
@ -265,9 +264,8 @@ msgid "Search"
msgstr "Cerca"
#: builtin/mainmenu/store.lua
#, fuzzy
msgid "Shortname:"
msgstr "Nome del mondo"
msgstr "Nome corto:"
#: builtin/mainmenu/store.lua
msgid "Successfully installed:"
@ -298,9 +296,8 @@ msgid "Previous Contributors"
msgstr "Contributori precedenti"
#: builtin/mainmenu/tab_credits.lua
#, fuzzy
msgid "Previous Core Developers"
msgstr "Sviluppatori del motore precedenti"
msgstr "Precedente Nucleo sviluppatori"
#: builtin/mainmenu/tab_mods.lua
msgid "Installed Mods:"
@ -455,7 +452,7 @@ msgstr "Attivato"
#: builtin/mainmenu/tab_settings.lua
msgid "Format is 3 numbers separated by commas and inside brackets."
msgstr ""
msgstr "Il formato è da 3 numeri separati da virgole e dentro parentesi."
#: builtin/mainmenu/tab_settings.lua
msgid ""
@ -642,7 +639,6 @@ msgid "Creating client..."
msgstr "Creazione del client..."
#: src/game.cpp
#, fuzzy
msgid "Creating server..."
msgstr "Creazione del server..."
@ -673,7 +669,6 @@ msgstr ""
"- T: chat\n"
#: src/game.cpp
#, fuzzy
msgid ""
"Default Controls:\n"
"No menu visible:\n"
@ -755,7 +750,6 @@ msgid "You died."
msgstr "Siete morti."
#: src/guiFormSpecMenu.cpp
#, fuzzy
msgid "Enter "
msgstr "Invio "
@ -890,6 +884,7 @@ msgid "Apps"
msgstr "Applicazioni"
#: src/keycode.cpp
#, fuzzy
msgid "Attn"
msgstr "Attn"
@ -1188,7 +1183,6 @@ msgid "3D mode"
msgstr "Modalità 3D"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@ -1255,11 +1249,11 @@ msgstr ""
"impostazione."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
"screens."
msgstr "dpi del tuo schermo (no X11/solo Android) per esempio schermi 4K."
msgstr ""
"Regola i dpi del tuo schermo (no X11/solo Android) per esempio schermi 4K."
#: src/settings_translation_file.cpp
msgid ""
@ -1268,7 +1262,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Advanced"
msgstr "Avanzato"
@ -1277,16 +1270,18 @@ msgid "Always fly and fast"
msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Ambient occlusion gamma"
msgstr ""
msgstr "Ambient occlusion gamma"
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
msgstr "Filtro anisotropico"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Announce server"
msgstr ""
msgstr "Server annunciato"
#: src/settings_translation_file.cpp
msgid ""
@ -1309,7 +1304,7 @@ msgstr "Tasto Indietro"
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr ""
msgstr "Base"
#: src/settings_translation_file.cpp
msgid "Bilinear filtering"
@ -1322,7 +1317,7 @@ msgstr "Risoluzione dell'indirizzo..."
#: src/settings_translation_file.cpp
msgid "Bits per pixel (aka color depth) in fullscreen mode."
msgstr ""
msgstr "Bit per pixel (profondita del colore) in schermo intero."
#: src/settings_translation_file.cpp
msgid "Build inside player"
@ -1330,7 +1325,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Bumpmapping"
msgstr ""
msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@ -1342,7 +1337,7 @@ msgstr "Ammorbidisci la visuale in modalità cinematica"
#: src/settings_translation_file.cpp
msgid "Camera update toggle key"
msgstr ""
msgstr "Tasto Attiva/Disattiva aggiornamento della camera."
#: src/settings_translation_file.cpp
msgid "Chat key"
@ -1355,7 +1350,7 @@ msgstr "Tasto mostra/nascondi chat"
#: src/settings_translation_file.cpp
msgid "Chunk size"
msgstr ""
msgstr "dimensione del blocco"
#: src/settings_translation_file.cpp
msgid "Cinematic mode"

View File

@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-11-12 02:44+0000\n"
"Last-Translator: nobb <nobb.hero+weblate@gmail.com>\n"
"PO-Revision-Date: 2015-12-19 11:07+0000\n"
"Last-Translator: Rui <rui914t@gmail.com>\n"
"Language-Team: Japanese "
"<https://hosted.weblate.org/projects/minetest/minetest/ja/>\n"
"Language: ja\n"
@ -36,7 +36,7 @@ msgstr "再接続"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
msgstr "サーバが再接続を要求しました:"
msgstr "サーバーが再接続を要求しました:"
#: builtin/mainmenu/common.lua src/game.cpp
msgid "Loading..."
@ -86,7 +86,7 @@ msgstr "有効化"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "すべて有効化"
msgstr "て有効化"
#: builtin/mainmenu/dlg_config_world.lua
msgid ""
@ -123,7 +123,7 @@ msgstr "有効化"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
msgstr "ワールド名\"$1\"はすでに使用されています"
msgstr "ワールド名\"$1\"はに使用されています"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Create"
@ -131,11 +131,12 @@ msgstr "作成"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download a subgame, such as minetest_game, from minetest.net"
msgstr "minetest.netからminetest_gameのゲームをダウンロードしてください"
msgstr "minetest.netからminetest_gameなどサブゲームをダウンロードしてください"
#: builtin/mainmenu/dlg_create_world.lua
#, fuzzy
msgid "Download one from minetest.net"
msgstr "minetest.netからダウンロードしてください"
msgstr "minetest.netからダウンロードしてください"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
@ -155,7 +156,7 @@ msgstr "Seed値"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
msgstr "警告: Minimal development testは開発者のためのゲームです。"
msgstr "警告: Minimal development testは開発者です。"
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
@ -163,7 +164,7 @@ msgstr "ワールド名"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no subgames installed."
msgstr "ゲームがインストールされていません。"
msgstr "サブゲームがインストールされていません。"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Are you sure you want to delete \"$1\"?"
@ -171,11 +172,11 @@ msgstr "本当に\"$1\"を削除してよろしいですか?"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Modmgr: failed to delete \"$1\""
msgstr "Modマネージャ: \"$1\"の削除に失敗しました"
msgstr "Modマネージャ: \"$1\"の削除に失敗しました"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Modmgr: invalid modpath \"$1\""
msgstr "Modマネージャ: Mod\"$1\"の場所が不明です"
msgstr "Modマネージャ: Mod\"$1\"の場所が不明です"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "No of course not!"
@ -199,7 +200,7 @@ msgstr "決定"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
msgstr "名を変更:"
msgstr "Modパック名を変更:"
#: builtin/mainmenu/modmgr.lua
msgid ""
@ -229,7 +230,7 @@ msgstr ""
#: builtin/mainmenu/store.lua
msgid "Close store"
msgstr "閉じる"
msgstr "ストアを閉じる"
#: builtin/mainmenu/store.lua
msgid "Downloading $1, please wait..."
@ -269,7 +270,7 @@ msgstr "再インストール"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
msgstr "開発協力者"
msgstr "活動中の開発協力者"
#: builtin/mainmenu/tab_credits.lua
msgid "Core Developers"
@ -357,6 +358,7 @@ msgid "PvP enabled"
msgstr "PvP有効"
#: builtin/mainmenu/tab_server.lua
#, fuzzy
msgid "Bind Address"
msgstr "バインドアドレス"
@ -411,6 +413,7 @@ msgid "Start Game"
msgstr "ゲームスタート"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
msgid "\"$1\" is not a valid flag."
msgstr "\"$1\"は有効なフラグではありません。"
@ -439,10 +442,12 @@ msgid "Enabled"
msgstr "有効"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
msgid "Format is 3 numbers separated by commas and inside brackets."
msgstr "書式は、コンマとかっこで区切られた 3 つの数字です。"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
msgid ""
"Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
"<octaves>, <persistence>"
@ -460,6 +465,7 @@ msgid "Optionally the lacunarity can be appended with a leading comma."
msgstr "空隙性随意大手カンマを付加することができます。"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
msgid "Please enter a comma seperated list of flags."
msgstr "フラグのリストはカンマで区切って入力してください。"
@ -481,6 +487,7 @@ msgid "Restore Default"
msgstr "初期設定に戻す"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
msgid "Select path"
msgstr "ファイルパスを選択"
@ -495,7 +502,7 @@ msgstr "技術名称を表示"
#: builtin/mainmenu/tab_settings.lua
msgid "The value must be greater than $1."
msgstr "$1より大き値でなければいけません。"
msgstr "$1より大き値でなければいけません。"
#: builtin/mainmenu/tab_settings.lua
msgid "The value must be lower than $1."
@ -547,11 +554,11 @@ msgstr "完了!"
#: src/client.cpp
msgid "Initializing nodes"
msgstr "ノードを設定中"
msgstr "ノードを初期化中"
#: src/client.cpp
msgid "Initializing nodes..."
msgstr "ノードの設定中..."
msgstr "ノードを初期化中..."
#: src/client.cpp
msgid "Item textures..."
@ -559,21 +566,23 @@ msgstr "テクスチャを設定中..."
#: src/client.cpp
msgid "Loading textures..."
msgstr "テクスチャ読み込み中..."
msgstr "テクスチャ読み込み中..."
#: src/client.cpp
msgid "Rebuilding shaders..."
msgstr "シェーダー構築中..."
msgstr "シェーダーを再構築中..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
msgstr "接続失敗(またはタイムアウト)"
msgstr "接続エラー (タイムアウト?)"
#: src/client/clientlauncher.cpp
#, fuzzy
msgid "Could not find or load game \""
msgstr "ゲーム\"の読み込みができません"
msgstr "以下のゲームの読み込みができません\""
#: src/client/clientlauncher.cpp
#, fuzzy
msgid "Invalid gamespec."
msgstr "無効なgamespecです。"
@ -582,14 +591,16 @@ msgid "Main Menu"
msgstr "メインメニュー"
#: src/client/clientlauncher.cpp
#, fuzzy
msgid "No world selected and no address provided. Nothing to do."
msgstr "ワールドが選択されていないアドレスです。続行できません。"
#: src/client/clientlauncher.cpp
msgid "Player name too long."
msgstr "名が長過ぎます。"
msgstr "プレイヤー名が長過ぎます。"
#: src/client/clientlauncher.cpp
#, fuzzy
msgid "Provided world path doesn't exist: "
msgstr "ワールドが存在しません: "
@ -603,7 +614,7 @@ msgid ""
"Check debug.txt for details."
msgstr ""
"\n"
"詳細はdebug.txtをご覧ください。"
"詳細はdebug.txtを確認してください。"
#: src/game.cpp
msgid "Change Keys"
@ -615,7 +626,7 @@ msgstr "パスワード変更"
#: src/game.cpp
msgid "Connecting to server..."
msgstr "サーバー接続中..."
msgstr "サーバー接続中..."
#: src/game.cpp
msgid "Continue"
@ -623,11 +634,11 @@ msgstr "再開"
#: src/game.cpp
msgid "Creating client..."
msgstr "クライアント起動中..."
msgstr "クライアント起動中..."
#: src/game.cpp
msgid "Creating server..."
msgstr "サーバー起動中..."
msgstr "サーバー起動中..."
#: src/game.cpp
msgid ""
@ -643,19 +654,20 @@ msgid ""
"- Mouse wheel: select item\n"
"- T: chat\n"
msgstr ""
"基本操作:\n"
"デフォルトの操作:\n"
"- WASD: 移動\n"
"- スペース: ジャンプ登る\n"
"- Shift: スニーク、降りる\n"
"- スペース: ジャンプ/登る\n"
"- Shift: スニーク/降りる\n"
"- Q: アイテムを落とす\n"
"- I: インベントリ\n"
"- マウス: 見回す\n"
"- 左クリック: 破壊パンチ\n"
"- 右クリック: 設置使用\n"
"- ホイール: アイテム選択\n"
"- T: チャット画面\n"
"- 左クリック: 破壊/パンチ\n"
"- 右クリック: 設置/使用\n"
"- マウスホイール: アイテム選択\n"
"- T: チャット\n"
#: src/game.cpp
#, fuzzy
msgid ""
"Default Controls:\n"
"No menu visible:\n"
@ -670,7 +682,7 @@ msgid ""
"- touch&drag, tap 2nd finger\n"
" --> place single item to slot\n"
msgstr ""
"基本操作:\n"
"デフォルトの操作:\n"
"タッチ操作:\n"
"- シングルタップ: ブロックの破壊\n"
"- ダブルタップ: 設置、使用\n"
@ -693,7 +705,7 @@ msgstr "終了"
#: src/game.cpp
msgid "Item definitions..."
msgstr "アイテム定義中..."
msgstr "アイテム定義中..."
#: src/game.cpp
msgid "KiB/s"
@ -709,7 +721,7 @@ msgstr "MB/秒"
#: src/game.cpp
msgid "Node definitions..."
msgstr "ノード定義中..."
msgstr "ノード定義中..."
#: src/game.cpp src/guiFormSpecMenu.cpp
msgid "Proceed"
@ -717,7 +729,7 @@ msgstr "決定"
#: src/game.cpp
msgid "Resolving address..."
msgstr "アドレス解決中..."
msgstr "アドレス解決中..."
#: src/game.cpp
msgid "Respawn"
@ -789,9 +801,7 @@ msgstr "キーが重複しています"
#: src/guiKeyChangeMenu.cpp
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""
"操作設定です。変更に失敗した場合、minetest.confから該当する設定を削除してく"
"ださい)"
msgstr "操作設定です。 (変更に失敗した場合、minetest.confから該当する設定を削除してください)"
#: src/guiKeyChangeMenu.cpp src/keycode.cpp
msgid "Left"
@ -883,15 +893,15 @@ msgstr "Caps Lock"
#: src/keycode.cpp
msgid "Clear"
msgstr "消す"
msgstr "クリア"
#: src/keycode.cpp
msgid "Comma"
msgstr "読点"
msgstr ","
#: src/keycode.cpp
msgid "Control"
msgstr "コントロール"
msgstr "Ctrl"
#: src/keycode.cpp
msgid "Convert"
@ -907,7 +917,7 @@ msgstr "下"
#: src/keycode.cpp
msgid "End"
msgstr "終了"
msgstr "エンド"
#: src/keycode.cpp
msgid "Erase OEF"
@ -1161,13 +1171,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "立体雲"
msgstr "立体雲"
#: src/settings_translation_file.cpp
msgid "3D mode"
msgstr "3Dモード"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@ -1177,6 +1188,13 @@ msgid ""
"- topbottom: split screen top/bottom.\n"
"- sidebyside: split screen side by side."
msgstr ""
"3Dサポート\n"
"現在サポートしている:\n"
"- none: 3D出力なし\n"
"- anaglyph: cyan/magenta color 3d.\n"
"- interlaced: odd/even line based polarisation screen support.\n"
"- topbottom: split screen top/bottom.\n"
"- sidebyside: split screen side by side."
#: src/settings_translation_file.cpp
msgid ""
@ -3507,7 +3525,7 @@ msgstr "音量"
#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "歩速度"
msgstr "歩速度"
#: src/settings_translation_file.cpp
msgid "Wanted FPS"
@ -3643,7 +3661,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "cURL timeout"
msgstr ""
msgstr "cURLタイムアウト"
#~ msgid "2x"
#~ msgstr "2倍"

View File

@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-08-15 16:30+0200\n"
"Last-Translator: Wuzzy <almikes@aol.com>\n"
"Language-Team: Lojban <https://hosted.weblate.org/projects/minetest/minetest/"
"jbo/>\n"
"PO-Revision-Date: 2015-11-22 06:05+0000\n"
"Last-Translator: senpi <saikos@openmailbox.org>\n"
"Language-Team: Lojban "
"<https://hosted.weblate.org/projects/minetest/minetest/jbo/>\n"
"Language: jbo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2.4-dev\n"
"X-Generator: Weblate 2.5-dev\n"
#: builtin/fstk/ui.lua
msgid "An error occured in a Lua script, such as a mod:"
@ -43,7 +43,7 @@ msgstr "samjongau"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
msgstr ""
msgstr "le samse'u cu pu cpedu lo nu samjongau"
#: builtin/mainmenu/common.lua src/game.cpp
msgid "Loading..."

View File

@ -8,27 +8,27 @@ msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2013-12-11 19:23+0200\n"
"Last-Translator: Jonas Kriaučiūnas <jonukas@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"PO-Revision-Date: 2015-11-19 05:14+0000\n"
"Last-Translator: Liudas Ališauskas <liudas@akmc.lt>\n"
"Language-Team: Lithuanian "
"<https://hosted.weblate.org/projects/minetest/minetest/lt/>\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 1.7-dev\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.5-dev\n"
#: builtin/fstk/ui.lua
msgid "An error occured in a Lua script, such as a mod:"
msgstr ""
msgstr "Klaida įvyko Lua scenarijuje, tokiame kaip papildinys:"
#: builtin/fstk/ui.lua
msgid "An error occured:"
msgstr ""
msgstr "Įvyko klaida:"
#: builtin/fstk/ui.lua
#, fuzzy
msgid "Main menu"
msgstr "Pagrindinis meniu"
@ -37,13 +37,12 @@ msgid "Ok"
msgstr "Gerai"
#: builtin/fstk/ui.lua
#, fuzzy
msgid "Reconnect"
msgstr "Jungtis"
msgstr "Prisijungti iš naujo"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
msgstr ""
msgstr "Serveris paprašė prisijungti iš naujo:"
#: builtin/mainmenu/common.lua src/game.cpp
msgid "Loading..."
@ -51,11 +50,11 @@ msgstr "Įkeliama..."
#: builtin/mainmenu/common.lua
msgid "Protocol version mismatch. "
msgstr ""
msgstr "Neatitinka protokolo versija. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
msgstr ""
msgstr "Serveris reikalauja naudoti versijos $1 protokolą. "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
@ -64,6 +63,8 @@ msgstr ""
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
msgstr ""
"Pabandykite dar kart įjungti viešą serverių sąrašą ir patikrinkite savo "
"interneto ryšį."
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
@ -100,6 +101,8 @@ msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"chararacters [a-z0-9_] are allowed."
msgstr ""
"Nepavyko įjungti papildinio „$1“, nes jis turi neleistų rašmenų. Tik "
"rašmenys [a-z0-9_] yra leidžiami."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Hide Game"
@ -136,11 +139,11 @@ msgstr "Sukurti"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download a subgame, such as minetest_game, from minetest.net"
msgstr ""
msgstr "Atsisiųskite sub žaidimą, tokį kaip minetest_game, iš minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
msgstr ""
msgstr "Atsisiųsti vieną iš minetest.net"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
@ -148,20 +151,19 @@ msgstr "Žaidimas"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Mapgen"
msgstr ""
msgstr "Žemėlapių generavimas"
#: builtin/mainmenu/dlg_create_world.lua
msgid "No worldname given or no game selected"
msgstr ""
msgstr "Nepateiktas joks pasaulio pavadinimas, arba nepasirinktas žaidimas"
#: builtin/mainmenu/dlg_create_world.lua
#, fuzzy
msgid "Seed"
msgstr "Sėkla"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
msgstr ""
msgstr "Dėmesio: Minimalus kūrimo bandymas yra skirtas vystytojams."
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
@ -169,25 +171,26 @@ msgstr "Pasaulio pavadinimas"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no subgames installed."
msgstr ""
msgstr "Neturite įdiegę sub žaidimų."
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Are you sure you want to delete \"$1\"?"
msgstr ""
msgstr "Ar tikrai norite ištrinti „$1“?"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Modmgr: failed to delete \"$1\""
msgstr ""
msgstr "Papildtvrk: nepavyko ištrinti „$1“"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "Modmgr: invalid modpath \"$1\""
msgstr ""
msgstr "Papildtvrk: netinkamas papildinio kelias „$1“"
#: builtin/mainmenu/dlg_delete_mod.lua
msgid "No of course not!"
msgstr ""
msgstr "Ne, tikrai ne!"
#: builtin/mainmenu/dlg_delete_mod.lua builtin/mainmenu/dlg_delete_world.lua
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
msgstr "Taip"
@ -200,7 +203,6 @@ msgid "No"
msgstr "Ne"
#: builtin/mainmenu/dlg_rename_modpack.lua src/keycode.cpp
#, fuzzy
msgid "Accept"
msgstr "Priimti"
@ -213,6 +215,8 @@ msgid ""
"\n"
"Install Mod: unsupported filetype \"$1\" or broken archive"
msgstr ""
"\n"
"Papildinio diegimas: nepalaikomas failo tipas „$1“, arba sugadintas archyvas"
#: builtin/mainmenu/modmgr.lua
msgid "Failed to install $1 to $2"
@ -220,23 +224,25 @@ msgstr "Nepavyko įdiegti $1 į $2"
#: builtin/mainmenu/modmgr.lua
msgid "Install Mod: file: \"$1\""
msgstr ""
msgstr "Įdiegti papildinį: failas: „$1“"
#: builtin/mainmenu/modmgr.lua
msgid "Install Mod: unable to find real modname for: $1"
msgstr ""
msgstr "Papildinio diegimas: nepavyksta rasti tikro pavadinimo skirto: $1"
#: builtin/mainmenu/modmgr.lua
msgid "Install Mod: unable to find suitable foldername for modpack $1"
msgstr ""
"Papildinio diegimas: nepavyksta rasti tinkamo aplanko pavadinimo papildinio "
"paketui $1"
#: builtin/mainmenu/store.lua
msgid "Close store"
msgstr ""
msgstr "Užverti parduotuvę"
#: builtin/mainmenu/store.lua
msgid "Downloading $1, please wait..."
msgstr ""
msgstr "Atsiunčiama $1, prašome palaukti..."
#: builtin/mainmenu/store.lua
msgid "Install"
@ -244,28 +250,27 @@ msgstr "Įdiegti"
#: builtin/mainmenu/store.lua
msgid "Page $1 of $2"
msgstr ""
msgstr "Puslapis $1 iš $2"
#: builtin/mainmenu/store.lua
msgid "Rating"
msgstr ""
msgstr "Įvertinimas"
#: builtin/mainmenu/store.lua
msgid "Search"
msgstr ""
msgstr "Ieškoti"
#: builtin/mainmenu/store.lua
#, fuzzy
msgid "Shortname:"
msgstr "Pasaulio pavadinimas"
msgstr "Trumpas pavadinimas:"
#: builtin/mainmenu/store.lua
msgid "Successfully installed:"
msgstr ""
msgstr "Sėkmingai įdiegta:"
#: builtin/mainmenu/store.lua
msgid "Unsorted"
msgstr ""
msgstr "Nerikiuota"
#: builtin/mainmenu/store.lua
msgid "re-Install"
@ -285,12 +290,11 @@ msgstr "Padėkos"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Contributors"
msgstr ""
msgstr "Ankstesni bendradarbiai"
#: builtin/mainmenu/tab_credits.lua
#, fuzzy
msgid "Previous Core Developers"
msgstr "Pagrindiniai kūrėjai"
msgstr "Ankstesni pagrindiniai kūrėjai"
#: builtin/mainmenu/tab_mods.lua
msgid "Installed Mods:"
@ -325,9 +329,8 @@ msgid "Uninstall selected modpack"
msgstr "Pašalinti pasirinktą papildinį"
#: builtin/mainmenu/tab_multiplayer.lua
#, fuzzy
msgid "Address / Port :"
msgstr "Adresas/Prievadas"
msgstr "Adresas / Prievadas :"
#: builtin/mainmenu/tab_multiplayer.lua src/settings_translation_file.cpp
msgid "Client"
@ -338,14 +341,12 @@ msgid "Connect"
msgstr "Jungtis"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "Creative mode"
msgstr "Kūrybinė veiksena"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "Damage enabled"
msgstr "įjungtas"
msgstr "Žalojimas įjungtas"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_server.lua
#: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp
@ -353,22 +354,20 @@ msgid "Delete"
msgstr "Ištrinti"
#: builtin/mainmenu/tab_multiplayer.lua
#, fuzzy
msgid "Name / Password :"
msgstr "Vardas/slaptažodis"
msgstr "Vardas / Slaptažodis :"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
msgid "Public Serverlist"
msgstr "Viešų serverių sąrašas"
#: builtin/mainmenu/tab_multiplayer.lua builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "PvP enabled"
msgstr "įjungtas"
msgstr "PvP įjungtas"
#: builtin/mainmenu/tab_server.lua
msgid "Bind Address"
msgstr ""
msgstr "Susieti adresą"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua
msgid "Configure"
@ -376,7 +375,6 @@ msgstr "Konfigūruoti"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_simple_main.lua
#: builtin/mainmenu/tab_singleplayer.lua
#, fuzzy
msgid "Creative Mode"
msgstr "Kūrybinė veiksena"
@ -395,11 +393,11 @@ msgstr "Naujas"
#: builtin/mainmenu/tab_server.lua builtin/mainmenu/tab_singleplayer.lua
msgid "No world created or selected!"
msgstr ""
msgstr "Nesukurtas ar pasirinktas joks pasaulis!"
#: builtin/mainmenu/tab_server.lua
msgid "Port"
msgstr ""
msgstr "Prievadas"
#: builtin/mainmenu/tab_server.lua
msgid "Public"
@ -510,19 +508,16 @@ msgid "The value must be lower than $1."
msgstr ""
#: builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "Config mods"
msgstr "Konfigūruoti"
msgstr "Konfigūruoti papildinius"
#: builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "Main"
msgstr "Pagrindinis meniu"
msgstr "Pagrindinis"
#: builtin/mainmenu/tab_simple_main.lua
#, fuzzy
msgid "Start Singleplayer"
msgstr "Žaisti vienam"
msgstr "Atstatyti vieno žaidėjo pasaulį"
#: builtin/mainmenu/tab_singleplayer.lua src/keycode.cpp
msgid "Play"
@ -534,61 +529,60 @@ msgstr "Žaisti vienam"
#: builtin/mainmenu/tab_texturepacks.lua
msgid "No information available"
msgstr ""
msgstr "Nėra pasiekiamos informacijos"
#: builtin/mainmenu/tab_texturepacks.lua
#: builtin/mainmenu/tab_settings.lua
msgid "None"
msgstr ""
msgstr "Joks"
#: builtin/mainmenu/tab_texturepacks.lua
msgid "Select texture pack:"
msgstr ""
msgstr "Pasirinkite tekstūros paketą:"
#: builtin/mainmenu/tab_texturepacks.lua
msgid "Texturepacks"
msgstr ""
msgstr "Tekstūrų paketai"
#: src/client.cpp
msgid "Connection timed out."
msgstr ""
msgstr "Baigėsi prijungimo laikas."
#: src/client.cpp
msgid "Done!"
msgstr ""
msgstr "Atlikta!"
#: src/client.cpp
msgid "Initializing nodes"
msgstr ""
msgstr "Inicijuojami mazgai"
#: src/client.cpp
msgid "Initializing nodes..."
msgstr ""
msgstr "Inicijuojami mazgai..."
#: src/client.cpp
msgid "Item textures..."
msgstr ""
msgstr "Elemento tekstūros..."
#: src/client.cpp
#, fuzzy
msgid "Loading textures..."
msgstr "Įkeliama..."
msgstr "Įkeliamos tekstūros..."
#: src/client.cpp
#, fuzzy
msgid "Rebuilding shaders..."
msgstr "Ieškoma adreso..."
msgstr "Perstatomi šešėliavimai..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
msgstr ""
msgstr "Ryšio klaida (baigėsi prijungimo laikas?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
msgstr ""
msgstr "Nepavyko rasti ar įkelti žaidimo „"
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
msgstr ""
msgstr "Klaidingi žaidimo nustatymai."
#: src/client/clientlauncher.cpp
msgid "Main Menu"
@ -597,27 +591,29 @@ msgstr "Pagrindinis meniu"
#: src/client/clientlauncher.cpp
msgid "No world selected and no address provided. Nothing to do."
msgstr ""
"Nepasirinktas joks pasaulis ir nepateiktas joks adresas. Nėra ką daryti."
#: src/client/clientlauncher.cpp
msgid "Player name too long."
msgstr ""
msgstr "Žaidėjo vardas per ilgas."
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
msgstr ""
msgstr "Pateiktas pasaulio kelias neegzistuoja: "
#: src/fontengine.cpp
msgid "needs_fallback_font"
msgstr ""
msgstr "reikia_atsarginio_šrifto"
#: src/game.cpp
msgid ""
"\n"
"Check debug.txt for details."
msgstr ""
"\n"
"Patikrinkite debug.txt dėl papildomos informacijos."
#: src/game.cpp
#, fuzzy
msgid "Change Keys"
msgstr "Nustatyti klavišus"
@ -634,12 +630,10 @@ msgid "Continue"
msgstr "Tęsti"
#: src/game.cpp
#, fuzzy
msgid "Creating client..."
msgstr "Kuriamas klientas..."
#: src/game.cpp
#, fuzzy
msgid "Creating server..."
msgstr "Kuriamas serveris...."
@ -657,6 +651,17 @@ msgid ""
"- Mouse wheel: select item\n"
"- T: chat\n"
msgstr ""
"Numatytas valdymas:\n"
"- WASD: judėti\n"
"- Tarpas: šokti/lipti\n"
"- Lyg2: leistis/eiti žemyn\n"
"- Q: išmesti elementą\n"
"- I: inventorius\n"
"- Pelė: sukti/žiūrėti\n"
"- Pelės kairys: kasti/smugiuoti\n"
"- Pelės dešinys: padėti/naudoti\n"
"- Pelės ratukas: pasirinkti elementą\n"
"- T: kalbėtis\n"
#: src/game.cpp
msgid ""
@ -673,6 +678,18 @@ msgid ""
"- touch&drag, tap 2nd finger\n"
" --> place single item to slot\n"
msgstr ""
"Numatytas valdymas:\n"
"Nematomi meniu:\n"
"- vienas palietimas: mygtukas aktyvuoti\n"
"- dvigubas palietimas: padėti/naudoti\n"
"- slinkti pirštu: žvalgytis aplink\n"
"Meniu/Inventorius matomi:\n"
"- dvigubas palietimas (išorėje):\n"
" -->uždaryti\n"
"- liesti rietuvę, liesti angą:\n"
" --> judinti rietuvę\n"
"- liesti&tempti, liesti antru pirštu\n"
" --> padėti vieną elementą į angą\n"
#: src/game.cpp
msgid "Exit to Menu"
@ -684,28 +701,27 @@ msgstr "Išeiti iš žaidimo"
#: src/game.cpp
msgid "Item definitions..."
msgstr ""
msgstr "Elemento apibrėžimai..."
#: src/game.cpp
msgid "KiB/s"
msgstr ""
msgstr "KiB/s"
#: src/game.cpp
msgid "Media..."
msgstr ""
msgstr "Medija..."
#: src/game.cpp
msgid "MiB/s"
msgstr ""
msgstr "MiB/s"
#: src/game.cpp
msgid "Node definitions..."
msgstr ""
msgstr "Mazgo apibrėžimai..."
#: src/game.cpp src/guiFormSpecMenu.cpp
#, fuzzy
msgid "Proceed"
msgstr "Tęsti"
msgstr "Vykdyti"
#: src/game.cpp
msgid "Resolving address..."
@ -717,11 +733,11 @@ msgstr "Prisikelti"
#: src/game.cpp
msgid "Shutting down..."
msgstr ""
msgstr "Išjungiama..."
#: src/game.cpp
msgid "Sound Volume"
msgstr ""
msgstr "Garso lygis"
#: src/game.cpp
msgid "You died."
@ -729,15 +745,15 @@ msgstr "Jūs numirėte."
#: src/guiFormSpecMenu.cpp
msgid "Enter "
msgstr ""
msgstr "Įvesti"
#: src/guiFormSpecMenu.cpp
msgid "ok"
msgstr ""
msgstr "gerai"
#: src/guiKeyChangeMenu.cpp
msgid "\"Use\" = climb down"
msgstr ""
msgstr "„Naudoti“ = kopti žemyn"
#: src/guiKeyChangeMenu.cpp
msgid "Backward"
@ -753,11 +769,11 @@ msgstr "Komanda"
#: src/guiKeyChangeMenu.cpp
msgid "Console"
msgstr ""
msgstr "Pultas"
#: src/guiKeyChangeMenu.cpp
msgid "Double tap \"jump\" to toggle fly"
msgstr ""
msgstr "Du kart paliesti „šokti“, kad įjungti skrydį"
#: src/guiKeyChangeMenu.cpp
msgid "Drop"
@ -781,7 +797,7 @@ msgstr "Klavišas jau naudojamas"
#: src/guiKeyChangeMenu.cpp
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""
msgstr "Klavišai. (Jei šis meniu sugenda, pašalinkite įrašus iš minetest.conf)"
#: src/guiKeyChangeMenu.cpp src/keycode.cpp
msgid "Left"
@ -789,11 +805,11 @@ msgstr "Kairėn"
#: src/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Print stacks"
msgstr ""
msgstr "Spausdinti rietuves"
#: src/guiKeyChangeMenu.cpp
msgid "Range select"
msgstr ""
msgstr "Intervalo pasirinkimas"
#: src/guiKeyChangeMenu.cpp src/keycode.cpp
msgid "Right"
@ -801,23 +817,23 @@ msgstr "Dešinėn"
#: src/guiKeyChangeMenu.cpp
msgid "Sneak"
msgstr ""
msgstr "Sėlinti"
#: src/guiKeyChangeMenu.cpp
msgid "Toggle Cinematic"
msgstr ""
msgstr "Įjungti kinematografinį"
#: src/guiKeyChangeMenu.cpp
msgid "Toggle fast"
msgstr ""
msgstr "Įjungti greitą"
#: src/guiKeyChangeMenu.cpp
msgid "Toggle fly"
msgstr ""
msgstr "Įjungti skrydį"
#: src/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
msgstr ""
msgstr "Įjungti noclip"
#: src/guiKeyChangeMenu.cpp
msgid "Use"
@ -853,11 +869,11 @@ msgstr "Išeiti"
#: src/guiVolumeChange.cpp
msgid "Sound Volume: "
msgstr ""
msgstr "Garso lygis: "
#: src/keycode.cpp
msgid "Apps"
msgstr ""
msgstr "Programos"
#: src/keycode.cpp
msgid "Attn"
@ -865,15 +881,15 @@ msgstr ""
#: src/keycode.cpp
msgid "Back"
msgstr ""
msgstr "Atgal"
#: src/keycode.cpp
msgid "Capital"
msgstr ""
msgstr "Sostinė"
#: src/keycode.cpp
msgid "Clear"
msgstr ""
msgstr "Išvalyti"
#: src/keycode.cpp
msgid "Comma"
@ -881,11 +897,11 @@ msgstr "Kablelis"
#: src/keycode.cpp
msgid "Control"
msgstr ""
msgstr "Valdymas"
#: src/keycode.cpp
msgid "Convert"
msgstr ""
msgstr "Konvertuoti"
#: src/keycode.cpp
msgid "CrSel"
@ -897,15 +913,15 @@ msgstr "Žemyn"
#: src/keycode.cpp
msgid "End"
msgstr ""
msgstr "Baigti"
#: src/keycode.cpp
msgid "Erase OEF"
msgstr ""
msgstr "Ištrinti OEF"
#: src/keycode.cpp
msgid "Escape"
msgstr ""
msgstr "Atšaukti"
#: src/keycode.cpp
msgid "ExSel"
@ -917,7 +933,7 @@ msgstr "Vykdyti"
#: src/keycode.cpp
msgid "Final"
msgstr ""
msgstr "Galutinis"
#: src/keycode.cpp
msgid "Help"
@ -925,7 +941,7 @@ msgstr "Pagalba"
#: src/keycode.cpp
msgid "Home"
msgstr ""
msgstr "Pradžia"
#: src/keycode.cpp
msgid "Insert"
@ -933,15 +949,15 @@ msgstr "Įterpti"
#: src/keycode.cpp
msgid "Junja"
msgstr ""
msgstr "Junja"
#: src/keycode.cpp
msgid "Kana"
msgstr ""
msgstr "Kana"
#: src/keycode.cpp
msgid "Kanji"
msgstr ""
msgstr "Kanji"
#: src/keycode.cpp
msgid "Left Button"
@ -953,7 +969,7 @@ msgstr "Kairysis Control"
#: src/keycode.cpp
msgid "Left Menu"
msgstr ""
msgstr "Kairysis meniu"
#: src/keycode.cpp
msgid "Left Shift"
@ -961,7 +977,7 @@ msgstr "Kairysis Shift"
#: src/keycode.cpp
msgid "Left Windows"
msgstr ""
msgstr "Kairieji langai"
#: src/keycode.cpp
msgid "Menu"
@ -973,15 +989,15 @@ msgstr "Vidurinis mygtukas"
#: src/keycode.cpp
msgid "Minus"
msgstr ""
msgstr "Minus"
#: src/keycode.cpp
msgid "Mode Change"
msgstr ""
msgstr "Būsenos keitimas"
#: src/keycode.cpp
msgid "Next"
msgstr ""
msgstr "Kitas"
#: src/keycode.cpp
msgid "Nonconvert"
@ -989,67 +1005,67 @@ msgstr ""
#: src/keycode.cpp
msgid "Num Lock"
msgstr ""
msgstr "Num Lock"
#: src/keycode.cpp
msgid "Numpad *"
msgstr ""
msgstr "SkaitKlav *"
#: src/keycode.cpp
msgid "Numpad +"
msgstr ""
msgstr "SkaitKlav +"
#: src/keycode.cpp
msgid "Numpad -"
msgstr ""
msgstr "SkaitKlav -"
#: src/keycode.cpp
msgid "Numpad /"
msgstr ""
msgstr "SkaitKlav /"
#: src/keycode.cpp
msgid "Numpad 0"
msgstr ""
msgstr "SkaitKlav 0"
#: src/keycode.cpp
msgid "Numpad 1"
msgstr ""
msgstr "SkaitKlav 1"
#: src/keycode.cpp
msgid "Numpad 2"
msgstr ""
msgstr "SkaitKlav 2"
#: src/keycode.cpp
msgid "Numpad 3"
msgstr ""
msgstr "SkaitKlav 3"
#: src/keycode.cpp
msgid "Numpad 4"
msgstr ""
msgstr "SkaitKlav 4"
#: src/keycode.cpp
msgid "Numpad 5"
msgstr ""
msgstr "SkaitKlav 5"
#: src/keycode.cpp
msgid "Numpad 6"
msgstr ""
msgstr "SkaitKlav 6"
#: src/keycode.cpp
msgid "Numpad 7"
msgstr ""
msgstr "SkaitKlav 7"
#: src/keycode.cpp
msgid "Numpad 8"
msgstr ""
msgstr "SkaitKlav 8"
#: src/keycode.cpp
msgid "Numpad 9"
msgstr ""
msgstr "SkaitKlav 9"
#: src/keycode.cpp
msgid "OEM Clear"
msgstr ""
msgstr "OEM valymas"
#: src/keycode.cpp
msgid "PA1"
@ -1057,11 +1073,11 @@ msgstr ""
#: src/keycode.cpp
msgid "Pause"
msgstr ""
msgstr "Pause"
#: src/keycode.cpp
msgid "Period"
msgstr ""
msgstr "Periodas"
#: src/keycode.cpp
msgid "Plus"
@ -1069,15 +1085,15 @@ msgstr "Plius"
#: src/keycode.cpp
msgid "Print"
msgstr ""
msgstr "Spausdinti"
#: src/keycode.cpp
msgid "Prior"
msgstr ""
msgstr "Ankstesnis"
#: src/keycode.cpp
msgid "Return"
msgstr ""
msgstr "Grįžti"
#: src/keycode.cpp
msgid "Right Button"
@ -1089,7 +1105,7 @@ msgstr "Dešinysis Control"
#: src/keycode.cpp
msgid "Right Menu"
msgstr ""
msgstr "Dešinysis meniu"
#: src/keycode.cpp
msgid "Right Shift"
@ -1097,15 +1113,15 @@ msgstr "Dešinysis Shift"
#: src/keycode.cpp
msgid "Right Windows"
msgstr ""
msgstr "Dešinieji langai"
#: src/keycode.cpp
msgid "Scroll Lock"
msgstr ""
msgstr "Scroll Lock"
#: src/keycode.cpp
msgid "Select"
msgstr ""
msgstr "Pasirinkti"
#: src/keycode.cpp
msgid "Shift"
@ -1113,11 +1129,11 @@ msgstr "Shift (Lyg2)"
#: src/keycode.cpp
msgid "Sleep"
msgstr ""
msgstr "Užmigdyti"
#: src/keycode.cpp
msgid "Snapshot"
msgstr ""
msgstr "Užlaikymas"
#: src/keycode.cpp
msgid "Space"
@ -1125,7 +1141,7 @@ msgstr "Tarpas"
#: src/keycode.cpp
msgid "Tab"
msgstr ""
msgstr "Tabuliacija"
#: src/keycode.cpp
msgid "Up"
@ -1133,14 +1149,13 @@ msgstr "Aukštyn"
#: src/keycode.cpp
msgid "X Button 1"
msgstr ""
msgstr "X mygtukas 1"
#: src/keycode.cpp
msgid "X Button 2"
msgstr ""
msgstr "X mygtukas 2"
#: src/keycode.cpp
#, fuzzy
msgid "Zoom"
msgstr "Pritraukti"
@ -2978,8 +2993,9 @@ msgid "Overall scale of parallax occlusion effect."
msgstr ""
#: src/settings_translation_file.cpp
#: builtin/mainmenu/tab_settings.lua
msgid "Parallax Occlusion"
msgstr ""
msgstr "Paralaksinė okliuzija"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion"
@ -3236,9 +3252,9 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders"
msgstr "Šešėliai"
msgstr "Šešėliavimai"
#: src/settings_translation_file.cpp
msgid ""
@ -3646,16 +3662,14 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
#, fuzzy
#~ msgid "Opaque Leaves"
#~ msgstr "Nepermatomas vanduo"
#~ msgstr "Nepermatomi lapai"
#~ msgid "Opaque Water"
#~ msgstr "Nepermatomas vanduo"
#, fuzzy
#~ msgid "Reset singleplayer world"
#~ msgstr "Žaisti vienam"
#~ msgstr "Atstatyti vieno žaidėjo pasaulį"
#~ msgid "Add mod:"
#~ msgstr "Pridėti papildinį:"

File diff suppressed because it is too large Load Diff

View File

@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-11-08 10:10+0000\n"
"Last-Translator: Vasily Pavlov <halmet94@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/minetest/"
"minetest/ru/>\n"
"PO-Revision-Date: 2015-12-18 09:44+0000\n"
"Last-Translator: Anton Tsyganenko <anton-tsyganenko@yandex.ru>\n"
"Language-Team: Russian "
"<https://hosted.weblate.org/projects/minetest/minetest/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.5-dev\n"
#: builtin/fstk/ui.lua
@ -446,7 +446,7 @@ msgstr "Включено"
#: builtin/mainmenu/tab_settings.lua
msgid "Format is 3 numbers separated by commas and inside brackets."
msgstr ""
msgstr "Формат -- это 3 числа в скобках, разделенные точками."
#: builtin/mainmenu/tab_settings.lua
msgid ""
@ -1292,7 +1292,7 @@ msgstr "Назад"
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr ""
msgstr "Базовый"
#: src/settings_translation_file.cpp
#, fuzzy
@ -1305,7 +1305,7 @@ msgstr "Адрес бинда"
#: src/settings_translation_file.cpp
msgid "Bits per pixel (aka color depth) in fullscreen mode."
msgstr ""
msgstr "Биты на пиксель (глубина цвета) в полноэкранном режиме."
#: src/settings_translation_file.cpp
msgid "Build inside player"
@ -1325,7 +1325,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Camera update toggle key"
msgstr ""
msgstr "Клавиша переключения обновления камеры"
#: src/settings_translation_file.cpp
msgid "Chat key"
@ -1357,7 +1357,7 @@ msgstr "Клиент и Сервер"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
msgstr ""
msgstr "Скорость подъема"
#: src/settings_translation_file.cpp
msgid "Cloud height"
@ -1373,7 +1373,7 @@ msgstr "Облака"
#: src/settings_translation_file.cpp
msgid "Clouds are a client side effect."
msgstr ""
msgstr "Облака являются эффектом на стороне клиента."
#: src/settings_translation_file.cpp
msgid "Clouds in menu"
@ -1403,7 +1403,7 @@ msgstr "Подключение к внешнему серверу..."
#: src/settings_translation_file.cpp
msgid "Connects glass if supported by node."
msgstr ""
msgstr "Соединяет стекло, если поддерживается нодой."
#: src/settings_translation_file.cpp
msgid "Console alpha"
@ -1435,12 +1435,17 @@ msgid ""
"Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays "
"unchanged."
msgstr ""
"Задает длину цикла дня/ночи.\n"
"Примеры: 72 = 20 минут, 360 = 4 минуты, 1 = 24 часа, 0 = время суток не "
"меняется."
#: src/settings_translation_file.cpp
msgid ""
"Controls size of deserts and beaches in Mapgen v6.\n"
"When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
msgstr ""
"Задает размеры пустыней и пляжей.\n"
"Когда включены снежные биомы, 'mgv6_freq_desert' игнорируется."
#: src/settings_translation_file.cpp
msgid "Crash message"
@ -1448,23 +1453,24 @@ msgstr "Сообщение при падении"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
msgstr ""
msgstr "Прозрачность перекрестия"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Crosshair alpha (opaqueness, between 0 and 255)."
msgstr ""
msgstr "Прозрачность перекрестия (от 0 (прозрачно) до 255 (непрозрачно))."
#: src/settings_translation_file.cpp
msgid "Crosshair color"
msgstr ""
msgstr "Цвет перекрестия"
#: src/settings_translation_file.cpp
msgid "Crosshair color (R,G,B)."
msgstr ""
msgstr "Цвет перекрестия (R,G,B)."
#: src/settings_translation_file.cpp
msgid "Crouch speed"
msgstr ""
msgstr "Скорость спуска"
#: src/settings_translation_file.cpp
msgid "DPI"
@ -1472,11 +1478,12 @@ msgstr "DPI"
#: src/settings_translation_file.cpp
msgid "Damage"
msgstr "Увечья"
msgstr "Урон"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Debug info toggle key"
msgstr ""
msgstr "Клавиша переключения показа debug-информации"
#: src/settings_translation_file.cpp
msgid "Debug log level"
@ -1488,7 +1495,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Default acceleration"
msgstr ""
msgstr "Ускорение по умолчанию"
#: src/settings_translation_file.cpp
msgid "Default game"

View File

@ -8,10 +8,10 @@ msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-08 21:23+0100\n"
"PO-Revision-Date: 2015-11-08 10:49+0000\n"
"PO-Revision-Date: 2015-12-10 08:13+0000\n"
"Last-Translator: Jeff Huang <s8321414@chakraos.org>\n"
"Language-Team: Chinese (Taiwan) <https://hosted.weblate.org/projects/"
"minetest/minetest/zh_TW/>\n"
"Language-Team: Chinese (Taiwan) "
"<https://hosted.weblate.org/projects/minetest/minetest/zh_TW/>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -415,7 +415,7 @@ msgstr "開始遊戲"
#: builtin/mainmenu/tab_settings.lua
msgid "\"$1\" is not a valid flag."
msgstr ""
msgstr "「$1」不是一個有效的旗標。"
#: builtin/mainmenu/tab_settings.lua
msgid "(No description of setting given)"
@ -443,7 +443,7 @@ msgstr "已啟用"
#: builtin/mainmenu/tab_settings.lua
msgid "Format is 3 numbers separated by commas and inside brackets."
msgstr ""
msgstr "格式為 3 個在括號內的以逗號分離的數字。"
#: builtin/mainmenu/tab_settings.lua
msgid ""
@ -1432,12 +1432,11 @@ msgstr ""
"範例72 = 20分鐘360 = 4分鐘1 = 24小時0 = 日/夜/一切保持不變。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Controls size of deserts and beaches in Mapgen v6.\n"
"When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
msgstr ""
"控制在 Mapgen V6 中的沙漠與沙灘大小。\n"
"控制在 Mapgen v6 中的沙漠與沙灘大小。\n"
"當 snowbiomes 啟用時「mgv6_freq_desert」會被忽略。"
#: src/settings_translation_file.cpp
@ -1593,6 +1592,9 @@ msgid ""
"Note that this is not quite optimized and that smooth lighting on the\n"
"water surface doesn't work with this."
msgstr ""
"啟用略低的的水面,所以它就不會完全「填滿」節點。\n"
"注意,這個功能並未最佳化完成,水面的\n"
"柔和光功能無法與此功能一同運作。"
#: src/settings_translation_file.cpp
msgid "Enable mod security"
@ -1724,39 +1726,41 @@ msgstr "後備字型大小"
#: src/settings_translation_file.cpp
msgid "Fast key"
msgstr ""
msgstr "快速按鍵"
#: src/settings_translation_file.cpp
msgid "Fast mode acceleration"
msgstr ""
msgstr "快速模式加速"
#: src/settings_translation_file.cpp
msgid "Fast mode speed"
msgstr ""
msgstr "快速模式速度"
#: src/settings_translation_file.cpp
msgid "Fast movement"
msgstr ""
msgstr "快速移動"
#: src/settings_translation_file.cpp
msgid ""
"Fast movement (via use key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
"快速移動(透過使用鍵)。\n"
"這需要伺服器上的「快速」特權。"
#: src/settings_translation_file.cpp
msgid "Field of view"
msgstr ""
msgstr "視野"
#: src/settings_translation_file.cpp
msgid "Field of view in degrees."
msgstr ""
msgstr "以度計算的視野。"
#: src/settings_translation_file.cpp
msgid ""
"File in client/serverlist/ that contains your favorite servers displayed in "
"the Multiplayer Tab."
msgstr ""
msgstr "在 客戶端/伺服器清單/ 中的檔案包含了顯示在多人遊戲分頁中您最愛的伺服器。"
#: src/settings_translation_file.cpp
msgid ""
@ -1765,6 +1769,10 @@ msgid ""
"light edge to transparent textures. Apply this filter to clean that up\n"
"at texture load time."
msgstr ""
"已過濾的材質會與完全透明的鄰居混合 RGB 值,\n"
"PNG 最佳化器通常會丟棄,有時候會導致透明材質\n"
"會有黑邊或亮邊。套用這個過濾器以在材質載入時\n"
"清理這些東西。"
#: src/settings_translation_file.cpp
msgid "Filtering"
@ -1772,47 +1780,47 @@ msgstr "過濾器"
#: src/settings_translation_file.cpp
msgid "Fixed map seed"
msgstr ""
msgstr "固定的地圖種子"
#: src/settings_translation_file.cpp
msgid "Fly key"
msgstr ""
msgstr "飛行按鍵"
#: src/settings_translation_file.cpp
msgid "Flying"
msgstr ""
msgstr "飛行"
#: src/settings_translation_file.cpp
msgid "Fog"
msgstr ""
msgstr ""
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
msgstr ""
msgstr "霧切換鍵"
#: src/settings_translation_file.cpp
msgid "Font path"
msgstr ""
msgstr "字型路徑"
#: src/settings_translation_file.cpp
msgid "Font shadow"
msgstr ""
msgstr "字型陰影"
#: src/settings_translation_file.cpp
msgid "Font shadow alpha"
msgstr ""
msgstr "字型陰影 alpha 值"
#: src/settings_translation_file.cpp
msgid "Font shadow alpha (opaqueness, between 0 and 255)."
msgstr ""
msgstr "字型陰影 alpha不透明度介於 0 到 255"
#: src/settings_translation_file.cpp
msgid "Font shadow offset, if 0 then shadow will not be drawn."
msgstr ""
msgstr "字型陰影偏移,若為 0 則陰影將不會被繪製。"
#: src/settings_translation_file.cpp
msgid "Font size"
msgstr ""
msgstr "字型大小"
#: src/settings_translation_file.cpp
msgid "Forward key"
@ -1820,39 +1828,39 @@ msgstr "前進鍵"
#: src/settings_translation_file.cpp
msgid "Freetype fonts"
msgstr ""
msgstr "Freetype 字型"
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are generated for clients, stated in mapblocks (16 "
"nodes)."
msgstr ""
msgstr "要在客戶端上從多遠的區塊開始生成以地圖區塊計算16 個節點)。"
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
msgstr ""
msgstr "要把多遠的區塊送到客戶端以地圖區塊計算16 個節點)。"
#: src/settings_translation_file.cpp
msgid ""
"From how far clients know about objects, stated in mapblocks (16 nodes)."
msgstr ""
msgstr "客戶端上知道多遠的區塊上的物件以地圖區塊計算16 個節點)。"
#: src/settings_translation_file.cpp
msgid "Full screen"
msgstr ""
msgstr "全螢幕"
#: src/settings_translation_file.cpp
msgid "Full screen BPP"
msgstr ""
msgstr "全螢幕 BPP"
#: src/settings_translation_file.cpp
msgid "Fullscreen mode."
msgstr ""
msgstr "全螢幕模式。"
#: src/settings_translation_file.cpp
msgid "GUI scaling"
msgstr ""
msgstr "圖形使用者介面縮放比例"
#: src/settings_translation_file.cpp
msgid "GUI scaling filter"
@ -1860,11 +1868,11 @@ msgstr "圖形使用者介面縮放過濾器"
#: src/settings_translation_file.cpp
msgid "GUI scaling filter txr2img"
msgstr ""
msgstr "圖形使用者介面縮放比例過濾器 txr2img"
#: src/settings_translation_file.cpp
msgid "Gamma"
msgstr ""
msgstr "Gamma"
#: src/settings_translation_file.cpp
msgid "Generate normalmaps"
@ -1878,6 +1886,10 @@ msgid ""
"Flags starting with \"no\" are used to explicitly disable them.\n"
"'trees' and 'flat' flags only have effect in mgv6."
msgstr ""
"全域地圖產生屬性。\n"
"未在旗標字串中指定的旗標將不會自預設值修改。\n"
"以「no」開頭的旗標字串將會用於明確的停用它們。\n"
"「trees」與「flat」旗標只在 mgv6 有效。"
#: src/settings_translation_file.cpp
msgid "Graphics"
@ -2503,9 +2515,8 @@ msgid "Mapgen flags"
msgstr "地圖產生器旗標"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mapgen fractal"
msgstr "地圖產生器旗標"
msgstr "地圖產生器分形"
#: src/settings_translation_file.cpp
msgid "Mapgen fractal cave1 noise parameters"
@ -2520,14 +2531,12 @@ msgid "Mapgen fractal filler depth noise parameters"
msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mapgen fractal flags"
msgstr "地圖產生器旗標"
msgstr "地圖產生器分形旗標"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mapgen fractal julia iterations"
msgstr "視差遮蔽迭代"
msgstr "地圖產生器分形朱麗亞迭代"
#: src/settings_translation_file.cpp
msgid "Mapgen fractal julia offset"

View File

@ -551,7 +551,6 @@ GenericCAO::GenericCAO(IGameDef *gamedef, ClientEnvironment *env):
m_animated_meshnode(NULL),
m_wield_meshnode(NULL),
m_spritenode(NULL),
m_nametag_color(video::SColor(255, 255, 255, 255)),
m_textnode(NULL),
m_position(v3f(0,10*BS,0)),
m_velocity(v3f(0,0,0)),
@ -972,19 +971,19 @@ void GenericCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
updateTextures("");
scene::ISceneNode *node = getSceneNode();
if (node && m_is_player && !m_is_local_player) {
if (node && m_prop.nametag != "" && !m_is_local_player) {
// Add a text node for showing the name
gui::IGUIEnvironment* gui = irr->getGUIEnvironment();
std::wstring wname = utf8_to_wide(m_name);
std::wstring nametag_text = utf8_to_wide(m_prop.nametag);
m_textnode = smgr->addTextSceneNode(gui->getSkin()->getFont(),
wname.c_str(), m_nametag_color, node);
nametag_text.c_str(), m_prop.nametag_color, node);
m_textnode->grab();
m_textnode->setPosition(v3f(0, BS*1.1, 0));
// Enforce hiding nametag,
// because if freetype is enabled, a grey
// shadow can remain.
m_textnode->setVisible(m_nametag_color.getAlpha() > 0);
m_textnode->setVisible(m_prop.nametag_color.getAlpha() > 0);
}
updateNodePos();
@ -1604,6 +1603,9 @@ void GenericCAO::processMessage(const std::string &data)
m_tx_basepos = m_prop.initial_sprite_basepos;
}
if ((m_is_player && !m_is_local_player) && m_prop.nametag == "")
m_prop.nametag = m_name;
expireVisuals();
}
else if(cmd == GENERIC_CMD_UPDATE_POSITION)
@ -1782,15 +1784,15 @@ void GenericCAO::processMessage(const std::string &data)
m_armor_groups[name] = rating;
}
} else if (cmd == GENERIC_CMD_UPDATE_NAMETAG_ATTRIBUTES) {
// Deprecated, for backwards compatibility only.
readU8(is); // version
m_nametag_color = readARGB8(is);
m_prop.nametag_color = readARGB8(is);
if (m_textnode != NULL) {
m_textnode->setTextColor(m_nametag_color);
m_textnode->setTextColor(m_prop.nametag_color);
// Enforce hiding nametag,
// because if freetype is enabled, a grey
// shadow can remain.
m_textnode->setVisible(m_nametag_color.getAlpha() > 0);
// because if freetype is enabled, a grey shadow can remain.
m_textnode->setVisible(m_prop.nametag_color.getAlpha() > 0);
}
}
}

View File

@ -70,7 +70,6 @@ private:
scene::IAnimatedMeshSceneNode *m_animated_meshnode;
WieldMeshSceneNode *m_wield_meshnode;
scene::IBillboardSceneNode *m_spritenode;
video::SColor m_nametag_color;
scene::ITextSceneNode* m_textnode;
v3f m_position;
v3f m_velocity;

View File

@ -769,8 +769,6 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_,
m_bone_position_sent(false),
m_attachment_parent_id(0),
m_attachment_sent(false),
m_nametag_color(video::SColor(255, 255, 255, 255)),
m_nametag_sent(false),
// public
m_physics_override_speed(1),
m_physics_override_jump(1),
@ -869,7 +867,7 @@ std::string PlayerSAO::getClientInitializationData(u16 protocol_version)
os<<serializeLongString(gob_cmd_update_physics_override(m_physics_override_speed,
m_physics_override_jump, m_physics_override_gravity, m_physics_override_sneak,
m_physics_override_sneak_glitch)); // 5
os << serializeLongString(gob_cmd_update_nametag_attributes(m_nametag_color)); // 6
os << serializeLongString(gob_cmd_update_nametag_attributes(m_prop.nametag_color)); // 6 (GENERIC_CMD_UPDATE_NAMETAG_ATTRIBUTES) : Deprecated, for backwards compatibility only.
}
else
{
@ -1024,14 +1022,6 @@ void PlayerSAO::step(float dtime, bool send_recommended)
ActiveObjectMessage aom(getId(), true, str);
m_messages_out.push(aom);
}
if (m_nametag_sent == false) {
m_nametag_sent = true;
std::string str = gob_cmd_update_nametag_attributes(m_nametag_color);
// create message and add to list
ActiveObjectMessage aom(getId(), true, str);
m_messages_out.push(aom);
}
}
void PlayerSAO::setBasePosition(const v3f &position)
@ -1282,17 +1272,6 @@ void PlayerSAO::notifyObjectPropertiesModified()
m_properties_sent = false;
}
void PlayerSAO::setNametagColor(video::SColor color)
{
m_nametag_color = color;
m_nametag_sent = false;
}
video::SColor PlayerSAO::getNametagColor()
{
return m_nametag_color;
}
Inventory* PlayerSAO::getInventory()
{
return m_inventory;
@ -1408,4 +1387,3 @@ bool PlayerSAO::getCollisionBox(aabb3f *toset) {
bool PlayerSAO::collideWithObjects(){
return true;
}

View File

@ -91,13 +91,13 @@ private:
std::string m_init_state;
bool m_registered;
struct ObjectProperties m_prop;
s16 m_hp;
v3f m_velocity;
v3f m_acceleration;
float m_yaw;
ItemGroupList m_armor_groups;
bool m_properties_sent;
float m_last_sent_yaw;
v3f m_last_sent_position;
@ -213,8 +213,6 @@ public:
std::set<int> getAttachmentChildIds();
ObjectProperties* accessObjectProperties();
void notifyObjectPropertiesModified();
void setNametagColor(video::SColor color);
video::SColor getNametagColor();
/*
Inventory interface
@ -292,7 +290,7 @@ public:
private:
std::string getPropertyPacket();
Player *m_player;
u16 m_peer_id;
Inventory *m_inventory;
@ -333,8 +331,6 @@ private:
v3f m_attachment_rotation;
bool m_attachment_sent;
video::SColor m_nametag_color;
bool m_nametag_sent;
public:
float m_physics_override_speed;
@ -346,4 +342,3 @@ public:
};
#endif

View File

@ -2181,7 +2181,7 @@ bool Game::initGui()
#ifdef HAVE_TOUCHSCREENGUI
if (g_touchscreengui)
g_touchscreengui->init(texture_src, porting::getDisplayDensity());
g_touchscreengui->init(texture_src);
#endif
@ -2581,7 +2581,7 @@ void Game::processUserInput(VolatileRunFlags *flags,
|| guienv->hasFocus(gui_chat_console)) {
input->clear();
#ifdef HAVE_TOUCHSCREENGUI
g_touchscreengui->Hide();
g_touchscreengui->hide();
#endif
}
#ifdef HAVE_TOUCHSCREENGUI

View File

@ -66,7 +66,7 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenParams *params, EmergeManager *
MapgenFractalParams *sp = (MapgenFractalParams *)params->sparams;
this->spflags = sp->spflags;
this->formula = sp->formula;
this->fractal = sp->fractal;
this->iterations = sp->iterations;
this->scale = sp->scale;
this->offset = sp->offset;
@ -77,6 +77,9 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenParams *params, EmergeManager *
this->julia_z = sp->julia_z;
this->julia_w = sp->julia_w;
this->formula = fractal / 2 + fractal % 2;
this->julia = fractal % 2 == 0;
//// 2D terrain noise
noise_seabed = new Noise(&sp->np_seabed, seed, csize.X, csize.Z);
noise_filler_depth = new Noise(&sp->np_filler_depth, seed, csize.X, csize.Z);
@ -141,7 +144,7 @@ MapgenFractalParams::MapgenFractalParams()
{
spflags = 0;
formula = 1;
fractal = 1;
iterations = 11;
scale = v3f(4096.0, 1024.0, 4096.0);
offset = v3f(1.79, 0.0, 0.0);
@ -163,7 +166,7 @@ void MapgenFractalParams::readParams(const Settings *settings)
{
settings->getFlagStrNoEx("mgfractal_spflags", spflags, flagdesc_mapgen_fractal);
settings->getU16NoEx("mgfractal_formula", formula);
settings->getU16NoEx("mgfractal_fractal", fractal);
settings->getU16NoEx("mgfractal_iterations", iterations);
settings->getV3FNoEx("mgfractal_scale", scale);
settings->getV3FNoEx("mgfractal_offset", offset);
@ -185,7 +188,7 @@ void MapgenFractalParams::writeParams(Settings *settings) const
{
settings->setFlagStr("mgfractal_spflags", spflags, flagdesc_mapgen_fractal, U32_MAX);
settings->setU16("mgfractal_formula", formula);
settings->setU16("mgfractal_fractal", fractal);
settings->setU16("mgfractal_iterations", iterations);
settings->setV3F("mgfractal_scale", scale);
settings->setV3F("mgfractal_offset", offset);
@ -368,7 +371,7 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z)
{
float cx, cy, cz, cw, ox, oy, oz, ow;
if (formula % 2 == 0) { // Julia sets, formula = 2, 4, 6, 8
if (julia) { // Julia set
cx = julia_x;
cy = julia_y;
cz = julia_z;
@ -377,7 +380,7 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z)
oy = (float)y / scale.Y - offset.Y;
oz = (float)z / scale.Z - offset.Z;
ow = slice_w;
} else { // Mandelbrot sets, formula = 1, 3, 5, 7
} else { // Mandelbrot set
cx = (float)x / scale.X - offset.X;
cy = (float)y / scale.Y - offset.Y;
cz = (float)z / scale.Z - offset.Z;
@ -388,32 +391,87 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z)
ow = 0.0f;
}
for (u16 iter = 0; iter < iterations; iter++) {
float nx = 0.0f;
float ny = 0.0f;
float nz = 0.0f;
float nw = 0.0f;
float nx = 0.0f;
float ny = 0.0f;
float nz = 0.0f;
float nw = 0.0f;
if (formula == 1 || formula == 2) { // 4D "Roundy" Mandelbrot/Julia Set
for (u16 iter = 0; iter < iterations; iter++) {
if (formula == 1) { // 4D "Roundy"
nx = ox * ox - oy * oy - oz * oz - ow * ow + cx;
ny = 2.0f * (ox * oy + oz * ow) + cy;
nz = 2.0f * (ox * oz + oy * ow) + cz;
nw = 2.0f * (ox * ow + oy * oz) + cw;
} else if (formula == 3 || formula == 4) { // 4D "Squarry" Mandelbrot/Julia Set
} else if (formula == 2) { // 4D "Squarry"
nx = ox * ox - oy * oy - oz * oz - ow * ow + cx;
ny = 2.0f * (ox * oy + oz * ow) + cy;
nz = 2.0f * (ox * oz + oy * ow) + cz;
nw = 2.0f * (ox * ow - oy * oz) + cw;
} else if (formula == 5 || formula == 6) { // 4D "Mandy Cousin" Mandelbrot/Julia Set
} else if (formula == 3) { // 4D "Mandy Cousin"
nx = ox * ox - oy * oy - oz * oz + ow * ow + cx;
ny = 2.0f * (ox * oy + oz * ow) + cy;
nz = 2.0f * (ox * oz + oy * ow) + cz;
nw = 2.0f * (ox * ow + oy * oz) + cw;
} else if (formula == 7 || formula == 8) { // 4D "Variation" Mandelbrot/Julia Set
} else if (formula == 4) { // 4D "Variation"
nx = ox * ox - oy * oy - oz * oz - ow * ow + cx;
ny = 2.0f * (ox * oy + oz * ow) + cy;
nz = 2.0f * (ox * oz - oy * ow) + cz;
nw = 2.0f * (ox * ow + oy * oz) + cw;
} else if (formula == 5) { // 3D "Mandelbrot/Mandelbar"
nx = ox * ox - oy * oy - oz * oz + cx;
ny = 2.0f * ox * oy + cy;
nz = -2.0f * ox * oz + cz;
} else if (formula == 6) { // 3D "Christmas Tree"
// Altering the formula here is necessary to avoid division by zero
if (fabs(oz) < 0.000000001f) {
nx = ox * ox - oy * oy - oz * oz + cx;
ny = 2.0f * oy * ox + cy;
nz = 4.0f * oz * ox + cz;
} else {
float a = (2.0f * ox) / (sqrt(oy * oy + oz * oz));
nx = ox * ox - oy * oy - oz * oz + cx;
ny = a * (oy * oy - oz * oz) + cy;
nz = a * 2.0f * oy * oz + cz;
}
} else if (formula == 7) { // 3D "Mandelbulb"
if (fabs(oy) < 0.000000001f) {
nx = ox * ox - oz * oz + cx;
ny = cy;
nz = -2.0f * oz * sqrt(ox * ox) + cz;
} else {
float a = 1.0f - (oz * oz) / (ox * ox + oy * oy);
nx = (ox * ox - oy * oy) * a + cx;
ny = 2.0f * ox * oy * a + cy;
nz = -2.0f * oz * sqrt(ox * ox + oy * oy) + cz;
}
} else if (formula == 8) { // 3D "Cosine Mandelbulb"
if (fabs(oy) < 0.000000001f) {
nx = 2.0f * ox * oz + cx;
ny = 4.0f * oy * oz + cy;
nz = oz * oz - ox * ox - oy * oy + cz;
} else {
float a = (2.0f * oz) / sqrt(ox * ox + oy * oy);
nx = (ox * ox - oy * oy) * a + cx;
ny = 2.0f * ox * oy * a + cy;
nz = oz * oz - ox * ox - oy * oy + cz;
}
} else if (formula == 9) { // 4D "Mandelbulb"
float rxy = sqrt(ox * ox + oy * oy);
float rxyz = sqrt(ox * ox + oy * oy + oz * oz);
if (fabs(ow) < 0.000000001f && fabs(oz) < 0.000000001f) {
nx = (ox * ox - oy * oy) + cx;
ny = 2.0f * ox * oy + cy;
nz = -2.0f * rxy * oz + cz;
nw = 2.0f * rxyz * ow + cw;
} else {
float a = 1.0f - (ow * ow) / (rxyz * rxyz);
float b = a * (1.0f - (oz * oz) / (rxy * rxy));
nx = (ox * ox - oy * oy) * b + cx;
ny = 2.0f * ox * oy * b + cy;
nz = -2.0f * rxy * oz * a + cz;
nw = 2.0f * rxyz * ow + cw;
}
}
if (nx * nx + ny * ny + nz * nz + nw * nw > 4.0f)

View File

@ -3,6 +3,9 @@ Minetest
Copyright (C) 2010-2015 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
Copyright (C) 2010-2015 paramat, Matt Gregory
Fractal formulas from http://www.bugman123.com/Hypercomplex/index.html
by Paul Nylander, and from http://www.fractalforums.com, thank you.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3.0 of the License, or
@ -33,7 +36,7 @@ extern FlagDesc flagdesc_mapgen_fractal[];
struct MapgenFractalParams : public MapgenSpecificParams {
u32 spflags;
u16 formula;
u16 fractal;
u16 iterations;
v3f scale;
v3f offset;
@ -63,14 +66,17 @@ public:
int ystride;
int zstride;
u32 spflags;
u16 formula;
bool julia;
v3s16 node_min;
v3s16 node_max;
v3s16 full_node_min;
v3s16 full_node_max;
u16 formula;
u32 spflags;
u16 fractal;
u16 iterations;
v3f scale;
v3f offset;

View File

@ -108,7 +108,7 @@ public:
this->remove();
#ifdef HAVE_TOUCHSCREENGUI
if (g_touchscreengui)
g_touchscreengui->Show();
g_touchscreengui->show();
#endif
}

View File

@ -261,6 +261,23 @@ void Player::clearHud()
}
}
RemotePlayer::RemotePlayer(IGameDef *gamedef, const char *name):
Player(gamedef, name),
m_sao(NULL)
{
movement_acceleration_default = g_settings->getFloat("movement_acceleration_default") * BS;
movement_acceleration_air = g_settings->getFloat("movement_acceleration_air") * BS;
movement_acceleration_fast = g_settings->getFloat("movement_acceleration_fast") * BS;
movement_speed_walk = g_settings->getFloat("movement_speed_walk") * BS;
movement_speed_crouch = g_settings->getFloat("movement_speed_crouch") * BS;
movement_speed_fast = g_settings->getFloat("movement_speed_fast") * BS;
movement_speed_climb = g_settings->getFloat("movement_speed_climb") * BS;
movement_speed_jump = g_settings->getFloat("movement_speed_jump") * BS;
movement_liquid_fluidity = g_settings->getFloat("movement_liquid_fluidity") * BS;
movement_liquid_fluidity_smooth = g_settings->getFloat("movement_liquid_fluidity_smooth") * BS;
movement_liquid_sink = g_settings->getFloat("movement_liquid_sink") * BS;
movement_gravity = g_settings->getFloat("movement_gravity") * BS;
}
void RemotePlayer::save(std::string savedir)
{

View File

@ -424,10 +424,7 @@ private:
class RemotePlayer : public Player
{
public:
RemotePlayer(IGameDef *gamedef, const char *name):
Player(gamedef, name),
m_sao(NULL)
{}
RemotePlayer(IGameDef *gamedef, const char *name);
virtual ~RemotePlayer() {}
void save(std::string savedir);

View File

@ -767,6 +767,59 @@ int ObjectRef::l_is_player(lua_State *L)
return 1;
}
// set_nametag_attributes(self, attributes)
int ObjectRef::l_set_nametag_attributes(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
if (co == NULL)
return 0;
ObjectProperties *prop = co->accessObjectProperties();
if (!prop)
return 0;
lua_getfield(L, 2, "color");
if (!lua_isnil(L, -1)) {
video::SColor color = prop->nametag_color;
read_color(L, -1, &color);
prop->nametag_color = color;
}
lua_pop(L, 1);
std::string nametag = getstringfield_default(L, 2, "text", "");
if (nametag != "")
prop->nametag = nametag;
co->notifyObjectPropertiesModified();
lua_pushboolean(L, true);
return 1;
}
// get_nametag_attributes(self)
int ObjectRef::l_get_nametag_attributes(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
if (co == NULL)
return 0;
ObjectProperties *prop = co->accessObjectProperties();
if (!prop)
return 0;
video::SColor color = prop->nametag_color;
lua_newtable(L);
push_ARGB8(L, color);
lua_setfield(L, -2, "color");
lua_pushstring(L, prop->nametag.c_str());
lua_setfield(L, -2, "text");
return 1;
}
/* LuaEntitySAO-only */
// setvelocity(self, {x=num, y=num, z=num})
@ -1593,45 +1646,6 @@ int ObjectRef::l_get_day_night_ratio(lua_State *L)
return 1;
}
// set_nametag_attributes(self, attributes)
int ObjectRef::l_set_nametag_attributes(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
PlayerSAO *playersao = getplayersao(ref);
if (playersao == NULL)
return 0;
lua_getfield(L, 2, "color");
if (!lua_isnil(L, -1)) {
video::SColor color = playersao->getNametagColor();
if (!read_color(L, -1, &color))
return 0;
playersao->setNametagColor(color);
}
lua_pushboolean(L, true);
return 1;
}
// get_nametag_attributes(self)
int ObjectRef::l_get_nametag_attributes(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
PlayerSAO *playersao = getplayersao(ref);
if (playersao == NULL)
return 0;
video::SColor color = playersao->getNametagColor();
lua_newtable(L);
push_ARGB8(L, color);
lua_setfield(L, -2, "color");
return 1;
}
ObjectRef::ObjectRef(ServerActiveObject *object):
m_object(object)
{
@ -1719,6 +1733,8 @@ const luaL_reg ObjectRef::methods[] = {
luamethod(ObjectRef, set_detach),
luamethod(ObjectRef, set_properties),
luamethod(ObjectRef, get_properties),
luamethod(ObjectRef, set_nametag_attributes),
luamethod(ObjectRef, get_nametag_attributes),
// LuaEntitySAO-only
luamethod(ObjectRef, setvelocity),
luamethod(ObjectRef, getvelocity),
@ -1768,7 +1784,5 @@ const luaL_reg ObjectRef::methods[] = {
luamethod(ObjectRef, get_local_animation),
luamethod(ObjectRef, set_eye_offset),
luamethod(ObjectRef, get_eye_offset),
luamethod(ObjectRef, set_nametag_attributes),
luamethod(ObjectRef, get_nametag_attributes),
{0,0}
};

View File

@ -47,7 +47,6 @@ const char *touchgui_button_imagenames[] = {
"inventory_btn.png",
"drop_btn.png",
"jump_btn.png",
"down.png",
#ifdef ENABLE_ANDROID_NOCLIP
"fly_btn.png",
"noclip_btn.png",
@ -55,8 +54,9 @@ const char *touchgui_button_imagenames[] = {
// "minimap_btn.png",
"debug_btn.png",
"chat_btn.png",
// "camera_btn.png",
"camera_btn.png",
"rangeview_btn.png"
"down.png",
};
static irr::EKEY_CODE id2keycode(touch_gui_button_id id)
@ -107,42 +107,26 @@ static irr::EKEY_CODE id2keycode(touch_gui_button_id id)
case chat_id:
key = "chat";
break;
/* case camera_id:
case camera_id:
key = "camera_mode";
break;*/
break;
case range_id:
key = "rangeselect";
break;
}
assert(key != "");
return keyname_to_keycode(g_settings->get("keymap_" + key).c_str());
return keyname_to_keycode(g_settings->get("keymap_" key).c_str());
}
TouchScreenGUI *g_touchscreengui;
TouchScreenGUI::TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver):
m_device(device),
m_guienv(device->getGUIEnvironment()),
m_camera_yaw(0.0),
m_camera_pitch(0.0),
m_visible(false),
m_move_id(-1),
m_receiver(receiver)
{
for (unsigned int i=0; i < after_last_element_id; i++) {
m_buttons[i].guibutton = 0;
m_buttons[i].repeatcounter = -1;
m_buttons[i].repeatdelay = BUTTON_REPEAT_DELAY;
}
m_screensize = m_device->getVideoDriver()->getScreenSize();
}
void TouchScreenGUI::loadButtonTexture(button_info* btn, const char* path, rect<s32> button_rect)
static void load_button_texture(button_info* btn, const char* path,
rect<s32> button_rect, ISimpleTextureSource* tsrc, video::IVideoDriver *driver)
{
unsigned int tid;
video::ITexture *texture = guiScalingImageButton(m_device->getVideoDriver(),
m_texturesource->getTexture(path, &tid), button_rect.getWidth(), button_rect.getHeight());
video::ITexture *texture = guiScalingImageButton(driver,
tsrc->getTexture(path, &tid), button_rect.getWidth(),
button_rect.getHeight());
if (texture) {
btn->guibutton->setUseAlphaChannel(true);
if (g_settings->getBool("gui_scaling_filter")) {
@ -160,6 +144,314 @@ void TouchScreenGUI::loadButtonTexture(button_info* btn, const char* path, rect<
}
}
AutoHideButtonBar::AutoHideButtonBar(IrrlichtDevice *device,
IEventReceiver* receiver) :
m_texturesource(NULL),
m_driver(device->getVideoDriver()),
m_guienv(device->getGUIEnvironment()),
m_receiver(receiver),
m_active(false),
m_visible(true),
m_timeout(0),
m_timeout_value(3),
m_initialized(false),
m_dir(AHBB_Dir_Right_Left)
{
m_screensize = device->getVideoDriver()->getScreenSize();
}
void AutoHideButtonBar::init(ISimpleTextureSource* tsrc,
const char* starter_img, int button_id, v2s32 UpperLeft,
v2s32 LowerRight, autohide_button_bar_dir dir, float timeout)
{
m_texturesource = tsrc;
m_upper_left = UpperLeft;
m_lower_right = LowerRight;
/* init settings bar */
irr::core::rect<int> current_button = rect<s32>(UpperLeft.X, UpperLeft.Y,
LowerRight.X, LowerRight.Y);
m_starter.guibutton = m_guienv->addButton(current_button, 0, button_id, L"", 0);
m_starter.guibutton->grab();
m_starter.repeatcounter = -1;
m_starter.keycode = KEY_OEM_8; // use invalid keycode as it's not relevant
m_starter.immediate_release = true;
m_starter.ids.clear();
load_button_texture(&m_starter, starter_img, current_button,
m_texturesource, m_driver);
m_dir = dir;
m_timeout_value = timeout;
m_initialized = true;
}
AutoHideButtonBar::~AutoHideButtonBar()
{
m_starter.guibutton->setVisible(false);
m_starter.guibutton->drop();
}
void AutoHideButtonBar::addButton(touch_gui_button_id button_id,
const wchar_t* caption, const char* btn_image)
{
if (!m_initialized) {
errorstream << "AutoHideButtonBar::addButton not yet initialized!"
<< std::endl;
return;
}
int button_size = 0;
if ((m_dir == AHBB_Dir_Top_Bottom) || (m_dir == AHBB_Dir_Bottom_Top)) {
button_size = m_lower_right.X - m_upper_left.X;
} else {
button_size = m_lower_right.Y - m_upper_left.Y;
}
irr::core::rect<int> current_button;
if ((m_dir == AHBB_Dir_Right_Left) || (m_dir == AHBB_Dir_Left_Right)) {
int x_start = 0;
int x_end = 0;
if (m_dir == AHBB_Dir_Left_Right) {
x_start = m_lower_right.X (button_size * 1.25 * m_buttons.size())
+ (button_size * 0.25);
x_end = x_start button_size;
} else {
x_end = m_upper_left.X - (button_size * 1.25 * m_buttons.size())
- (button_size * 0.25);
x_start = x_end - button_size;
}
current_button = rect<s32>(x_start, m_upper_left.Y, x_end,
m_lower_right.Y);
} else {
int y_start = 0;
int y_end = 0;
if (m_dir == AHBB_Dir_Top_Bottom) {
y_start = m_lower_right.X (button_size * 1.25 * m_buttons.size())
+ (button_size * 0.25);
y_end = y_start button_size;
} else {
y_end = m_upper_left.X - (button_size * 1.25 * m_buttons.size())
- (button_size * 0.25);
y_start = y_end - button_size;
}
current_button = rect<s32>(m_upper_left.X, y_start, m_lower_right.Y,
y_end);
}
button_info* btn = new button_info();
btn->guibutton = m_guienv->addButton(current_button, 0, button_id, caption, 0);
btn->guibutton->grab();
btn->guibutton->setVisible(false);
btn->guibutton->setEnabled(false);
btn->repeatcounter = -1;
btn->keycode = id2keycode(button_id);
btn->immediate_release = true;
btn->ids.clear();
load_button_texture(btn, btn_image, current_button, m_texturesource,
m_driver);
m_buttons.push_back(btn);
}
bool AutoHideButtonBar::isButton(const SEvent &event)
{
IGUIElement* rootguielement = m_guienv->getRootGUIElement();
if (rootguielement == NULL) {
return false;
}
gui::IGUIElement *element = rootguielement->getElementFromPoint(
core::position2d<s32>(event.TouchInput.X, event.TouchInput.Y));
if (element == NULL) {
return false;
}
if (m_active) {
/* check for all buttons in vector */
std::vector<button_info*>::iterator iter = m_buttons.begin();
while (iter != m_buttons.end()) {
if ((*iter)->guibutton == element) {
SEvent* translated = new SEvent();
memset(translated, 0, sizeof(SEvent));
translated->EventType = irr::EET_KEY_INPUT_EVENT;
translated->KeyInput.Key = (*iter)->keycode;
translated->KeyInput.Control = false;
translated->KeyInput.Shift = false;
translated->KeyInput.Char = 0;
/* add this event */
translated->KeyInput.PressedDown = true;
m_receiver->OnEvent(*translated);
/* remove this event */
translated->KeyInput.PressedDown = false;
m_receiver->OnEvent(*translated);
delete translated;
(*iter)->ids.push_back(event.TouchInput.ID);
m_timeout = 0;
return true;
}
++iter;
}
} else {
/* check for starter button only */
if (element == m_starter.guibutton) {
m_starter.ids.push_back(event.TouchInput.ID);
m_starter.guibutton->setVisible(false);
m_starter.guibutton->setEnabled(false);
m_active = true;
m_timeout = 0;
std::vector<button_info*>::iterator iter = m_buttons.begin();
while (iter != m_buttons.end()) {
(*iter)->guibutton->setVisible(true);
(*iter)->guibutton->setEnabled(true);
++iter;
}
return true;
}
}
return false;
}
bool AutoHideButtonBar::isReleaseButton(int eventID)
{
std::vector<int>::iterator id = std::find(m_starter.ids.begin(),
m_starter.ids.end(), eventID);
if (id != m_starter.ids.end()) {
m_starter.ids.erase(id);
return true;
}
std::vector<button_info*>::iterator iter = m_buttons.begin();
while (iter != m_buttons.end()) {
std::vector<int>::iterator id = std::find((*iter)->ids.begin(),
(*iter)->ids.end(), eventID);
if (id != (*iter)->ids.end()) {
(*iter)->ids.erase(id);
// TODO handle settings button release
return true;
}
++iter;
}
return false;
}
void AutoHideButtonBar::step(float dtime)
{
if (m_active) {
m_timeout= dtime;
if (m_timeout > m_timeout_value) {
deactivate();
}
}
}
void AutoHideButtonBar::deactivate()
{
if (m_visible == true) {
m_starter.guibutton->setVisible(true);
m_starter.guibutton->setEnabled(true);
}
m_active = false;
std::vector<button_info*>::iterator iter = m_buttons.begin();
while (iter != m_buttons.end()) {
(*iter)->guibutton->setVisible(false);
(*iter)->guibutton->setEnabled(false);
++iter;
}
}
void AutoHideButtonBar::hide()
{
m_visible = false;
m_starter.guibutton->setVisible(false);
m_starter.guibutton->setEnabled(false);
std::vector<button_info*>::iterator iter = m_buttons.begin();
while (iter != m_buttons.end()) {
(*iter)->guibutton->setVisible(false);
(*iter)->guibutton->setEnabled(false);
++iter;
}
}
void AutoHideButtonBar::show()
{
m_visible = true;
if (m_active) {
std::vector<button_info*>::iterator iter = m_buttons.begin();
while (iter != m_buttons.end()) {
(*iter)->guibutton->setVisible(true);
(*iter)->guibutton->setEnabled(true);
++iter;
}
} else {
m_starter.guibutton->setVisible(true);
m_starter.guibutton->setEnabled(true);
}
}
TouchScreenGUI::TouchScreenGUI(IrrlichtDevice *device, IEventReceiver* receiver):
m_device(device),
m_guienv(device->getGUIEnvironment()),
m_camera_yaw(0.0),
m_camera_pitch(0.0),
m_visible(false),
m_move_id(-1),
m_receiver(receiver),
m_move_has_really_moved(false),
m_move_downtime(0),
m_move_sent_as_mouse_event(false),
// use some downlocation way off screen as init value to avoid invalid behaviour
m_move_downlocation(v2s32(-10000, -10000)),
m_settingsbar(device, receiver),
m_rarecontrolsbar(device, receiver)
{
for (unsigned int i=0; i < after_last_element_id; i++) {
m_buttons[i].guibutton = 0;
m_buttons[i].repeatcounter = -1;
m_buttons[i].repeatdelay = BUTTON_REPEAT_DELAY;
}
m_screensize = m_device->getVideoDriver()->getScreenSize();
}
void TouchScreenGUI::initButton(touch_gui_button_id id, rect<s32> button_rect,
std::wstring caption, bool immediate_release, float repeat_delay)
{
@ -173,29 +465,32 @@ void TouchScreenGUI::initButton(touch_gui_button_id id, rect<s32> button_rect,
btn->immediate_release = immediate_release;
btn->ids.clear();
loadButtonTexture(btn,touchgui_button_imagenames[id], button_rect);
load_button_texture(btn,touchgui_button_imagenames[id],button_rect,
m_texturesource, m_device->getVideoDriver());
}
static int getMaxControlPadSize(float density) {
return 235 * density * g_settings->getFloat("hud_scaling");
}
void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density)
int TouchScreenGUI::getGuiButtonSize()
{
u32 control_pad_size = MYMIN((2 * m_screensize.Y) / 3,
getMaxControlPadSize(porting::getDisplayDensity()));
return control_pad_size / 3;
}
void TouchScreenGUI::init(ISimpleTextureSource* tsrc)
{
assert(tsrc != 0);
const u32 spacing = 7;
u32 control_pad_size =
MYMIN((2 * m_screensize.Y + spacing * 2) / 3,
getMaxControlPadSize(density));
u32 button_size = (control_pad_size - spacing * 2 ) / 3;
u32 button_size = getGuiButtonSize();
m_visible = true;
m_texturesource = tsrc;
m_control_pad_rect = rect<s32>(
spacing, m_screensize.Y - control_pad_size - spacing,
spacing + control_pad_size, m_screensize.Y - spacing);
spacing control_pad_size, m_screensize.Y - spacing);
/*
draw control pad
@ -204,14 +499,13 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density)
2 5 8
*/
int number = 0;
for (int y = 0; y < 3; ++y)
for (int x = 0; x < 3; ++x, ++number) {
for (int y = 0; y < 3;+y)
for (int x = 0; x < 3;+x,+number) {
v2s32 tl;
tl.X = y * (button_size + spacing) + spacing;
tl.Y = m_screensize.Y - (button_size + spacing) * (3 - x);
tl.X = y * (button_size spacing) spacing;
tl.Y = m_screensize.Y - (button_size spacing) * (3 - x);
rect<s32> button_rect(tl.X, tl.Y, tl.X + button_size, tl.Y + button_size);
rect<s32> button_rect(tl.X, tl.Y, tl.X button_size, tl.Y button_size);
touch_gui_button_id id = after_last_element_id;
std::wstring caption;
switch (number) {
@ -319,11 +613,11 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density)
m_screensize.X, 0.75*button_size),
L"Chat", true);
/* init camera button
/* init camera button */
initButton(camera_id,
rect<s32>(0, 0,
0.75*button_size, 0.75*button_size),
L"cam", false, SLOW_BUTTON_REPEAT);*/
L"cam", false, SLOW_BUTTON_REPEAT);
/* init rangeselect button */
initButton(range_id,
@ -333,6 +627,37 @@ void TouchScreenGUI::init(ISimpleTextureSource* tsrc, float density)
rect<s32>(m_screensize.X - (1.5*button_size), 0,
m_screensize.X - (0.75*button_size), 0.75*button_size),
L"far", false, SLOW_BUTTON_REPEAT);
/* m_settingsbar.init(m_texturesource, "gear_icon.png", settings_starter_id,
v2s32(m_screensize.X - (button_size / 2),
m_screensize.Y - ((SETTINGS_BAR_Y_OFFSET 1) * button_size)
+ (button_size * 0.5)),
v2s32(m_screensize.X,
m_screensize.Y - (SETTINGS_BAR_Y_OFFSET * button_size)
+ (button_size * 0.5)), AHBB_Dir_Right_Left,
3.0);
m_settingsbar.addButton(fly_id, L"fly", "fly_btn.png");
m_settingsbar.addButton(noclip_id, L"noclip", "noclip_btn.png");
m_settingsbar.addButton(fast_id, L"fast", "fast_btn.png");
m_settingsbar.addButton(debug_id, L"debug", "debug_btn.png");
m_settingsbar.addButton(camera_id, L"camera", "camera_btn.png");
m_settingsbar.addButton(range_id, L"rangeview", "rangeview_btn.png");*/
/*m_rarecontrolsbar.init(m_texturesource, "rare_controls.png",
rare_controls_starter_id,
v2s32(0,
m_screensize.Y
- ((RARE_CONTROLS_BAR_Y_OFFSET 1) * button_size)
+ (button_size * 0.5)),
v2s32(button_size / 2,
m_screensize.Y - (RARE_CONTROLS_BAR_Y_OFFSET * button_size)
+ (button_size * 0.5)), AHBB_Dir_Left_Right,
2);
m_rarecontrolsbar.addButton(chat_id, L"Chat", "chat_btn.png");
m_rarecontrolsbar.addButton(inventory_id, L"inv", "inventory_btn.png");
m_rarecontrolsbar.addButton(drop_id, L"drop", "drop_btn.png");*/
}
touch_gui_button_id TouchScreenGUI::getButtonID(s32 x, s32 y)
@ -373,7 +698,7 @@ bool TouchScreenGUI::isHUDButton(const SEvent &event)
{
// check if hud item is pressed
for (std::map<int,rect<s32> >::iterator iter = m_hud_rects.begin();
iter != m_hud_rects.end(); ++iter) {
iter != m_hud_rects.end();+iter) {
if (iter->second.isPointInside(
v2s32(event.TouchInput.X,
event.TouchInput.Y)
@ -382,7 +707,7 @@ bool TouchScreenGUI::isHUDButton(const SEvent &event)
SEvent* translated = new SEvent();
memset(translated,0,sizeof(SEvent));
translated->EventType = irr::EET_KEY_INPUT_EVENT;
translated->KeyInput.Key = (irr::EKEY_CODE) (KEY_KEY_1 + iter->first);
translated->KeyInput.Key = (irr::EKEY_CODE) (KEY_KEY_1 iter->first);
translated->KeyInput.Control = false;
translated->KeyInput.Shift = false;
translated->KeyInput.PressedDown = true;
@ -416,7 +741,7 @@ bool TouchScreenGUI::isReleaseHUDButton(int eventID)
return false;
}
void TouchScreenGUI::ButtonEvent(touch_gui_button_id button,
void TouchScreenGUI::handleButtonEvent(touch_gui_button_id button,
int eventID, bool action)
{
button_info* btn = &m_buttons[button];
@ -465,11 +790,15 @@ void TouchScreenGUI::handleReleaseEvent(int evt_id)
/* handle button events */
if (button != after_last_element_id) {
ButtonEvent(button, evt_id, false);
handleButtonEvent(button, evt_id, false);
}
/* handle hud button events */
else if (isReleaseHUDButton(evt_id)) {
/* nothing to do here */
} else if (m_settingsbar.isReleaseButton(evt_id)) {
/* nothing to do here */
} else if (m_rarecontrolsbar.isReleaseButton(evt_id)) {
/* nothing to do here */
}
/* handle the point used for moving view */
else if (evt_id == m_move_id) {
@ -517,7 +846,7 @@ void TouchScreenGUI::handleReleaseEvent(int evt_id)
}
for (std::vector<id_status>::iterator iter = m_known_ids.begin();
iter != m_known_ids.end(); ++iter) {
iter != m_known_ids.end();+iter) {
if (iter->id == evt_id) {
m_known_ids.erase(iter);
break;
@ -556,16 +885,26 @@ void TouchScreenGUI::translateEvent(const SEvent &event)
/* handle button events */
if (button != after_last_element_id) {
ButtonEvent(button,eventID,true);
}
else if (isHUDButton(event))
{
handleButtonEvent(button, eventID, true);
m_settingsbar.deactivate();
m_rarecontrolsbar.deactivate();
} else if (isHUDButton(event)) {
m_settingsbar.deactivate();
m_rarecontrolsbar.deactivate();
/* already handled in isHUDButton() */
} else if (m_settingsbar.isButton(event)) {
m_rarecontrolsbar.deactivate();
/* already handled in isSettingsBarButton() */
} else if (m_rarecontrolsbar.isButton(event)) {
m_settingsbar.deactivate();
/* already handled in isSettingsBarButton() */
} else if (m_control_pad_rect.isPointInside(v2s32(toadd.X, toadd.Y))) {
// ignore events inside the control pad not already handled
}
/* handle non button events */
else {
m_settingsbar.deactivate();
m_rarecontrolsbar.deactivate();
/* if we don't already have a moving point make this the moving one */
if (m_move_id == -1) {
m_move_id = event.TouchInput.ID;
@ -597,7 +936,7 @@ void TouchScreenGUI::translateEvent(const SEvent &event)
double distance = sqrt(
(m_pointerpos[event.TouchInput.ID].X - event.TouchInput.X) *
(m_pointerpos[event.TouchInput.ID].X - event.TouchInput.X) +
(m_pointerpos[event.TouchInput.ID].X - event.TouchInput.X)
(m_pointerpos[event.TouchInput.ID].Y - event.TouchInput.Y) *
(m_pointerpos[event.TouchInput.ID].Y - event.TouchInput.Y));
@ -617,10 +956,10 @@ void TouchScreenGUI::translateEvent(const SEvent &event)
double old_pitch = m_camera_pitch;
m_camera_yaw -= dx * d;
m_camera_pitch = MYMIN(MYMAX( m_camera_pitch + (dy * d),-180),180);
m_camera_pitch = MYMIN(MYMAX( m_camera_pitch (dy * d),-180),180);
while (m_camera_yaw < 0)
m_camera_yaw += 360;
m_camera_yaw= 360;
while (m_camera_yaw > 360)
m_camera_yaw -= 360;
@ -641,8 +980,6 @@ void TouchScreenGUI::translateEvent(const SEvent &event)
->getRayFromScreenCoordinates(
v2s32(event.TouchInput.X,event.TouchInput.Y));
}
}
else {
handleChangedButton(event);
}
}
@ -655,8 +992,8 @@ void TouchScreenGUI::handleChangedButton(const SEvent &event)
if (m_buttons[i].ids.empty()) {
continue;
}
for(std::vector<int>::iterator iter = m_buttons[i].ids.begin();
iter != m_buttons[i].ids.end(); ++iter) {
for (std::vector<int>::iterator iter = m_buttons[i].ids.begin();
iter != m_buttons[i].ids.end();+iter) {
if (event.TouchInput.ID == *iter) {
@ -668,12 +1005,12 @@ void TouchScreenGUI::handleChangedButton(const SEvent &event)
}
/* remove old button */
ButtonEvent((touch_gui_button_id) i,*iter,false);
handleButtonEvent((touch_gui_button_id) i,*iter,false);
if (current_button_id == after_last_element_id) {
return;
}
ButtonEvent((touch_gui_button_id) current_button_id,*iter,true);
handleButtonEvent((touch_gui_button_id) current_button_id,*iter,true);
return;
}
@ -687,8 +1024,11 @@ void TouchScreenGUI::handleChangedButton(const SEvent &event)
}
button_info* btn = &m_buttons[current_button_id];
if (std::find(btn->ids.begin(),btn->ids.end(), event.TouchInput.ID) == btn->ids.end()) {
ButtonEvent((touch_gui_button_id) current_button_id,event.TouchInput.ID,true);
if (std::find(btn->ids.begin(),btn->ids.end(), event.TouchInput.ID)
== btn->ids.end())
{
handleButtonEvent((touch_gui_button_id) current_button_id,
event.TouchInput.ID, true);
}
}
@ -702,20 +1042,20 @@ bool TouchScreenGUI::doubleTapDetection()
m_key_events[1].x = m_move_downlocation.X;
m_key_events[1].y = m_move_downlocation.Y;
u32 delta = porting::getDeltaMs(m_key_events[0].down_time,getTimeMs());
u32 delta = porting::getDeltaMs(m_key_events[0].down_time, getTimeMs());
if (delta > 400)
return false;
double distance = sqrt(
(m_key_events[0].x - m_key_events[1].x) * (m_key_events[0].x - m_key_events[1].x) +
(m_key_events[0].x - m_key_events[1].x) * (m_key_events[0].x - m_key_events[1].x)
(m_key_events[0].y - m_key_events[1].y) * (m_key_events[0].y - m_key_events[1].y));
if (distance >(20 + g_settings->getU16("touchscreen_threshold")))
if (distance > (20 + g_settings->getU16("touchscreen_threshold")))
return false;
SEvent* translated = new SEvent();
memset(translated,0,sizeof(SEvent));
memset(translated, 0, sizeof(SEvent));
translated->EventType = EET_MOUSE_INPUT_EVENT;
translated->MouseInput.X = m_key_events[0].x;
translated->MouseInput.Y = m_key_events[0].y;
@ -744,7 +1084,7 @@ bool TouchScreenGUI::doubleTapDetection()
TouchScreenGUI::~TouchScreenGUI()
{
for (unsigned int i=0; i < after_last_element_id; i++) {
for (unsigned int i = 0; i < after_last_element_id; i++) {
button_info* btn = &m_buttons[i];
if (btn->guibutton != 0) {
btn->guibutton->drop();
@ -756,11 +1096,11 @@ TouchScreenGUI::~TouchScreenGUI()
void TouchScreenGUI::step(float dtime)
{
/* simulate keyboard repeats */
for (unsigned int i=0; i < after_last_element_id; i++) {
for (unsigned int i = 0; i < after_last_element_id; i++) {
button_info* btn = &m_buttons[i];
if (btn->ids.size() > 0) {
btn->repeatcounter += dtime;
btn->repeatcounter= dtime;
/* in case we're moving around digging does not happen */
if (m_move_id != -1)
@ -770,7 +1110,7 @@ void TouchScreenGUI::step(float dtime)
btn->repeatcounter = 0;
SEvent translated;
memset(&translated,0,sizeof(SEvent));
memset(&translated, 0, sizeof(SEvent));
translated.EventType = irr::EET_KEY_INPUT_EVENT;
translated.KeyInput.Key = btn->keycode;
translated.KeyInput.PressedDown = false;
@ -796,7 +1136,7 @@ void TouchScreenGUI::step(float dtime)
v2s32(m_move_downlocation.X,m_move_downlocation.Y));
SEvent translated;
memset(&translated,0,sizeof(SEvent));
memset(&translated, 0, sizeof(SEvent));
translated.EventType = EET_MOUSE_INPUT_EVENT;
translated.MouseInput.X = m_move_downlocation.X;
translated.MouseInput.Y = m_move_downlocation.Y;
@ -809,6 +1149,8 @@ void TouchScreenGUI::step(float dtime)
m_move_sent_as_mouse_event = true;
}
}
m_settingsbar.step(dtime);
m_rarecontrolsbar.step(dtime);
}
void TouchScreenGUI::resetHud()
@ -824,7 +1166,7 @@ void TouchScreenGUI::registerHudItem(int index, const rect<s32> &rect)
void TouchScreenGUI::Toggle(bool visible)
{
m_visible = visible;
for (unsigned int i=0; i < after_last_element_id; i++) {
for (unsigned int i = 0; i < after_last_element_id; i++) {
button_info* btn = &m_buttons[i];
if (btn->guibutton != 0) {
btn->guibutton->setVisible(visible);
@ -836,11 +1178,17 @@ void TouchScreenGUI::Toggle(bool visible)
while (m_known_ids.size() > 0) {
handleReleaseEvent(m_known_ids.begin()->id);
}
m_settingsbar.hide();
m_rarecontrolsbar.hide();
} else {
m_settingsbar.show();
m_rarecontrolsbar.show();
}
}
void TouchScreenGUI::Hide()
void TouchScreenGUI::hide()
{
if (!m_visible)
return;
@ -848,10 +1196,10 @@ void TouchScreenGUI::Hide()
Toggle(false);
}
void TouchScreenGUI::Show()
void TouchScreenGUI::show()
{
if (m_visible)
return;
Toggle(true);
}
}

View File

@ -40,10 +40,11 @@ typedef enum {
backward_id,
left_id,
right_id,
inventory_id,
drop_id,
jump_id,
crunch_id,
after_last_element_id,
// settings_starter_id,
// rare_controls_starter_id,
#ifdef ENABLE_ANDROID_NOCLIP
fly_id,
noclip_id,
@ -51,18 +52,97 @@ typedef enum {
#endif
// minimap_id,
debug_id,
chat_id,
// camera_id,
camera_id,
range_id,
after_last_element_id
chat_id,
inventory_id,
drop_id
} touch_gui_button_id;
typedef enum {
AHBB_Dir_Top_Bottom,
AHBB_Dir_Bottom_Top,
AHBB_Dir_Left_Right,
AHBB_Dir_Right_Left
} autohide_button_bar_dir;
#define MIN_DIG_TIME_MS 500
#define MAX_TOUCH_COUNT 64
#define BUTTON_REPEAT_DELAY 0.2f
//#define SETTINGS_BAR_Y_OFFSET 6.5
//#define RARE_CONTROLS_BAR_Y_OFFSET 4
extern const char *touchgui_button_imagenames[];
struct button_info {
float repeatcounter;
float repeatdelay;
irr::EKEY_CODE keycode;
std::vector<int> ids;
IGUIButton* guibutton;
bool immediate_release;
};
class AutoHideButtonBar
{
public:
AutoHideButtonBar( IrrlichtDevice *device, IEventReceiver* receiver );
void init(ISimpleTextureSource* tsrc, const char* starter_img,
int button_id, v2s32 UpperLeft, v2s32 LowerRight,
autohide_button_bar_dir dir, float timeout);
~AutoHideButtonBar();
/* add button to be shown */
void addButton(touch_gui_button_id id, const wchar_t* caption,
const char* btn_image);
/* detect settings bar button events */
bool isButton(const SEvent &event);
/* handle released hud buttons */
bool isReleaseButton(int eventID);
/* step handler */
void step(float dtime);
/* deactivate button bar */
void deactivate();
/* hide the whole buttonbar */
void hide();
/* unhide the buttonbar */
void show();
private:
ISimpleTextureSource* m_texturesource;
irr::video::IVideoDriver* m_driver;
IGUIEnvironment* m_guienv;
IEventReceiver* m_receiver;
v2u32 m_screensize;
button_info m_starter;
std::vector<button_info*> m_buttons;
v2s32 m_upper_left;
v2s32 m_lower_right;
/* show settings bar */
bool m_active;
bool m_visible;
/* settings bar timeout */
float m_timeout;
float m_timeout_value;
bool m_initialized;
autohide_button_bar_dir m_dir;
};
class TouchScreenGUI
{
public:
@ -71,7 +151,7 @@ public:
void translateEvent(const SEvent &event);
void init(ISimpleTextureSource* tsrc,float density);
void init(ISimpleTextureSource* tsrc);
double getYaw() { return m_camera_yaw; }
double getPitch() { return m_camera_pitch; }
@ -82,8 +162,8 @@ public:
void registerHudItem(int index, const rect<s32> &rect);
void Toggle(bool visible);
void Hide();
void Show();
void hide();
void show();
private:
IrrlichtDevice* m_device;
@ -110,15 +190,6 @@ private:
bool m_move_sent_as_mouse_event;
v2s32 m_move_downlocation;
struct button_info {
float repeatcounter;
float repeatdelay;
irr::EKEY_CODE keycode;
std::vector<int> ids;
IGUIButton* guibutton;
bool immediate_release;
};
button_info m_buttons[after_last_element_id];
/* gui button detection */
@ -148,7 +219,7 @@ private:
std::vector<id_status> m_known_ids;
/* handle a button event */
void ButtonEvent(touch_gui_button_id bID, int eventID, bool action);
void handleButtonEvent(touch_gui_button_id bID, int eventID, bool action);
/* handle pressed hud buttons */
bool isHUDButton(const SEvent &event);
@ -161,6 +232,9 @@ private:
/* handle release event */
void handleReleaseEvent(int evt_id);
/* get size of regular gui control button */
int getGuiButtonSize();
/* doubleclick detection variables */
struct key_event {
@ -174,6 +248,12 @@ private:
/* array for doubletap detection */
key_event m_key_events[2];
/* settings bar */
AutoHideButtonBar m_settingsbar;
/* rare controls bar */
AutoHideButtonBar m_rarecontrolsbar;
};
extern TouchScreenGUI *g_touchscreengui;
#endif
#endif

View File

@ -30,31 +30,31 @@ mkdir -p $libdir
cd $builddir
# Get stuff
[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://sfan5.pf-control.de/irrlicht-$irrlicht_version-win32.zip \
[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://minetest.kitsunemimi.pw/irrlicht-$irrlicht_version-win32.zip \
-c -O $packagedir/irrlicht-$irrlicht_version.zip
[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://sfan5.pf-control.de/zlib-$zlib_version-win32.zip \
[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://minetest.kitsunemimi.pw/zlib-$zlib_version-win32.zip \
-c -O $packagedir/zlib-$zlib_version.zip
[ -e $packagedir/libogg-$ogg_version-dev.7z ] || wget http://sfan5.pf-control.de/libogg-$ogg_version-dev.7z \
[ -e $packagedir/libogg-$ogg_version-dev.7z ] || wget http://minetest.kitsunemimi.pw/libogg-$ogg_version-dev.7z \
-c -O $packagedir/libogg-$ogg_version-dev.7z
[ -e $packagedir/libogg-$ogg_version-dll.7z ] || wget http://sfan5.pf-control.de/libogg-$ogg_version-dll.7z \
[ -e $packagedir/libogg-$ogg_version-dll.7z ] || wget http://minetest.kitsunemimi.pw/libogg-$ogg_version-dll.7z \
-c -O $packagedir/libogg-$ogg_version-dll.7z
[ -e $packagedir/libvorbis-$vorbis_version-dev.7z ] || wget http://sfan5.pf-control.de/libvorbis-$vorbis_version-dev.7z \
[ -e $packagedir/libvorbis-$vorbis_version-dev.7z ] || wget http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-dev.7z \
-c -O $packagedir/libvorbis-$vorbis_version-dev.7z
[ -e $packagedir/libvorbis-$vorbis_version-dll.7z ] || wget http://sfan5.pf-control.de/libvorbis-$vorbis_version-dll.7z \
[ -e $packagedir/libvorbis-$vorbis_version-dll.7z ] || wget http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-dll.7z \
-c -O $packagedir/libvorbis-$vorbis_version-dll.7z
[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://sfan5.pf-control.de/libcurl-$curl_version-win32.zip \
[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://minetest.kitsunemimi.pw/libcurl-$curl_version-win32.zip \
-c -O $packagedir/libcurl-$curl_version.zip
[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://sfan5.pf-control.de/gettext-$gettext_version.zip \
[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://minetest.kitsunemimi.pw/gettext-$gettext_version.zip \
-c -O $packagedir/gettext-$gettext_version.zip
[ -e $packagedir/libfreetype-$freetype_version.zip ] || wget http://sfan5.pf-control.de/libfreetype-$freetype_version-win32.zip \
[ -e $packagedir/libfreetype-$freetype_version.zip ] || wget http://minetest.kitsunemimi.pw/libfreetype-$freetype_version-win32.zip \
-c -O $packagedir/libfreetype-$freetype_version.zip
[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://sfan5.pf-control.de/sqlite3-$sqlite3_version-win32.zip \
[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://minetest.kitsunemimi.pw/sqlite3-$sqlite3_version-win32.zip \
-c -O $packagedir/sqlite3-$sqlite3_version.zip
[ -e $packagedir/luajit-$luajit_version-static-win32.zip ] || wget http://sfan5.pf-control.de/luajit-$luajit_version-static-win32.zip \
[ -e $packagedir/luajit-$luajit_version-static-win32.zip ] || wget http://minetest.kitsunemimi.pw/luajit-$luajit_version-static-win32.zip \
-c -O $packagedir/luajit-$luajit_version-static-win32.zip
[ -e $packagedir/libleveldb-$leveldb_version-win32.zip ] || wget http://sfan5.pf-control.de/libleveldb-$leveldb_version-win32.zip \
[ -e $packagedir/libleveldb-$leveldb_version-win32.zip ] || wget http://minetest.kitsunemimi.pw/libleveldb-$leveldb_version-win32.zip \
-c -O $packagedir/libleveldb-$leveldb_version-win32.zip
[ -e $packagedir/openal_stripped.zip ] || wget http://sfan5.pf-control.de/openal_stripped.zip \
[ -e $packagedir/openal_stripped.zip ] || wget http://minetest.kitsunemimi.pw/openal_stripped.zip \
-c -O $packagedir/openal_stripped.zip
# Extract stuff

View File

@ -30,27 +30,27 @@ mkdir -p $libdir
cd $builddir
# Get stuff
[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://sfan5.pf-control.de/irrlicht-$irrlicht_version-win64.zip \
[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://minetest.kitsunemimi.pw/irrlicht-$irrlicht_version-win64.zip \
-c -O $packagedir/irrlicht-$irrlicht_version.zip
[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://sfan5.pf-control.de/zlib-$zlib_version-win64.zip \
[ -e $packagedir/zlib-$zlib_version.zip ] || wget http://minetest.kitsunemimi.pw/zlib-$zlib_version-win64.zip \
-c -O $packagedir/zlib-$zlib_version.zip
[ -e $packagedir/libogg-$ogg_version.zip ] || wget http://sfan5.pf-control.de/libogg-$ogg_version-win64.zip \
[ -e $packagedir/libogg-$ogg_version.zip ] || wget http://minetest.kitsunemimi.pw/libogg-$ogg_version-win64.zip \
-c -O $packagedir/libogg-$ogg_version.zip
[ -e $packagedir/libvorbis-$vorbis_version.zip ] || wget http://sfan5.pf-control.de/libvorbis-$vorbis_version-win64.zip \
[ -e $packagedir/libvorbis-$vorbis_version.zip ] || wget http://minetest.kitsunemimi.pw/libvorbis-$vorbis_version-win64.zip \
-c -O $packagedir/libvorbis-$vorbis_version.zip
[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://sfan5.pf-control.de/libcurl-$curl_version-win64.zip \
[ -e $packagedir/libcurl-$curl_version.zip ] || wget http://minetest.kitsunemimi.pw/libcurl-$curl_version-win64.zip \
-c -O $packagedir/libcurl-$curl_version.zip
[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://sfan5.pf-control.de/gettext-$gettext_version-win64.zip \
[ -e $packagedir/gettext-$gettext_version.zip ] || wget http://minetest.kitsunemimi.pw/gettext-$gettext_version-win64.zip \
-c -O $packagedir/gettext-$gettext_version.zip
[ -e $packagedir/freetype-$freetype_version.zip ] || wget http://sfan5.pf-control.de/libfreetype-$freetype_version-win64.zip \
[ -e $packagedir/freetype-$freetype_version.zip ] || wget http://minetest.kitsunemimi.pw/libfreetype-$freetype_version-win64.zip \
-c -O $packagedir/freetype-$freetype_version.zip
[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://sfan5.pf-control.de/sqlite3-$sqlite3_version-win64.zip \
[ -e $packagedir/sqlite3-$sqlite3_version.zip ] || wget http://minetest.kitsunemimi.pw/sqlite3-$sqlite3_version-win64.zip \
-c -O $packagedir/sqlite3-$sqlite3_version.zip
[ -e $packagedir/luajit-$luajit_version.zip ] || wget http://sfan5.pf-control.de/luajit-$luajit_version-static-win64.zip \
[ -e $packagedir/luajit-$luajit_version.zip ] || wget http://minetest.kitsunemimi.pw/luajit-$luajit_version-static-win64.zip \
-c -O $packagedir/luajit-$luajit_version.zip
[ -e $packagedir/libleveldb-$leveldb_version.zip ] || wget http://sfan5.pf-control.de/libleveldb-$leveldb_version-win64.zip \
[ -e $packagedir/libleveldb-$leveldb_version.zip ] || wget http://minetest.kitsunemimi.pw/libleveldb-$leveldb_version-win64.zip \
-c -O $packagedir/libleveldb-$leveldb_version.zip
[ -e $packagedir/openal_stripped.zip ] || wget http://sfan5.pf-control.de/openal_stripped64.zip \
[ -e $packagedir/openal_stripped.zip ] || wget http://minetest.kitsunemimi.pw/openal_stripped64.zip \
-c -O $packagedir/openal_stripped.zip

View File

@ -15,16 +15,16 @@ if [[ $PLATFORM == "Linux" ]]; then
libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \
libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev gettext
# Linking to LevelDB is broken, use a custom build
wget http://sfan5.pf-control.de/libleveldb-1.18-ubuntu12.04.7z
wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z
sudo 7z x -o/usr libleveldb-1.18-ubuntu12.04.7z
elif [[ $PLATFORM == "Win32" ]]; then
wget http://sfan5.pf-control.de/mingw_w64_i686_ubuntu12.04_4.9.1.7z -O mingw.7z
wget http://minetest.kitsunemimi.pw/mingw_w64_i686_ubuntu12.04_4.9.1.7z -O mingw.7z
sed -e "s|%PREFIX%|i686-w64-mingw32|" \
-e "s|%ROOTPATH%|/usr/i686-w64-mingw32|" \
< util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw.cmake
sudo 7z x -y -o/usr mingw.7z
elif [[ $PLATFORM == "Win64" ]]; then
wget http://sfan5.pf-control.de/mingw_w64_x86_64_ubuntu12.04_4.9.1.7z -O mingw.7z
wget http://minetest.kitsunemimi.pw/mingw_w64_x86_64_ubuntu12.04_4.9.1.7z -O mingw.7z
sed -e "s|%PREFIX%|x86_64-w64-mingw32|" \
-e "s|%ROOTPATH%|/usr/x86_64-w64-mingw32|" \
< util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw64.cmake