Compare commits

...

319 Commits

Author SHA1 Message Date
SmallJoker
5f5ce2391c Merge remote-tracking branch 'upstream/stable-5' into HEAD 2025-10-05 17:55:19 +02:00
SmallJoker
6d1a208018 Bump version to 5.14.0 2025-10-05 17:32:14 +02:00
StoyanDimitrov
d500241e3d Update builtin Bulgarian translation 2025-10-05 17:32:17 +02:00
sfan5
61f3812f73 Fix incorrect MapgenV6 chunk size warning 2025-10-05 17:11:04 +02:00
y5nw
f2be1c39c8 SDL: Remove SDL_syswm.h include 2025-10-05 14:44:14 +02:00
y5nw
244dc7ac06 shell.nix: add gmp and luajit 2025-10-05 14:44:14 +02:00
maxchen32
3a0152c491 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.5% (1442 of 1463 strings)
2025-10-04 21:55:05 +02:00
Tarás Lavrentiev
52e36b06e6 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
Karol1165
f1f1fce2db Translated using Weblate (Polish)
Currently translated at 88.0% (1288 of 1463 strings)
2025-10-04 21:35:52 +02:00
Тарас Арт
4aae915e4f Translated using Weblate (Ukrainian)
Currently translated at 98.9% (1448 of 1463 strings)
2025-10-04 21:35:52 +02:00
Neil Rizen
814eb21def Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
y5nw
b5eb11c0ae Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.5% (1442 of 1463 strings)
2025-10-04 21:35:52 +02:00
dvchd
72b14910da Translated using Weblate (Vietnamese)
Currently translated at 42.5% (623 of 1463 strings)
2025-10-04 21:35:52 +02:00
Neil Rizen
bca99fc723 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
Ludus
b6fe5fee43 Translated using Weblate (Italian)
Currently translated at 87.2% (1276 of 1463 strings)
2025-10-04 21:35:52 +02:00
Wuzzy
23e208c7aa Translated using Weblate (German)
Currently translated at 100.0% (1463 of 1463 strings)
2025-10-04 21:35:52 +02:00
109247019824
8b3e80f534 Translated using Weblate (Bulgarian)
Currently translated at 90.8% (1329 of 1463 strings)
2025-10-04 21:35:52 +02:00
SmallJoker
4f77a91e04 IrrlichtMt: Fix Win32 device compile error (non-SDL)
This issue was caused by one of the recent header refactoring commits.
2025-10-04 12:57:14 +02:00
SmallJoker
c2a4d5f82d Update credits for 5.14.0 (#16531) 2025-10-03 13:20:14 +02:00
Lars Müller
4238aa423b Fix a memory leak: Use irr_ptr for bones (#16530) 2025-10-01 12:53:01 +02:00
DS
ae35167a5e Fix debug.getinfo not being unset in CPCSM (#16506)
regression was introduced in eeb6cab
2025-10-01 12:52:48 +02:00
SmallJoker
499f2284bd Server: Fix Server::Send exception caused by leaving players
Leaving players will have PEER_ID_INVALID for database saving purposes.
This patch clarifies that, and properly protects the batch send function.

Bug introduced by 5f5ea132.
2025-09-29 19:23:43 +02:00
Wuzzy
274d8a7c65 Update builtin locale (#16512)
* Update builtin locale files

* Update German builtin translation
2025-09-29 13:25:42 +02:00
sfan5
8f98b4f243 Android: Update to SDK 35 (#16513) 2025-09-29 13:25:23 +02:00
fetsorn
e3ec044ed0 Update comments referring to obsolete TOCLIENT_INIT (#16522) 2025-09-29 13:21:52 +02:00
SmallJoker
dd3530dc79 Mapgen: Correct border block criteria (#16524)
This addresses a regression from e86d2fea8.

Co-authored-by: Po Lu <luangruo@yahoo.com>
2025-09-29 13:21:30 +02:00
SmallJoker
421835a30e Formspec: Fix missing CHG:n fields (regression)
The GUIScrollBar type was changed in commit 39f2727503.
This commit updates a corresponding check in guiFormSpecMenu accordingly.
2025-09-24 18:37:31 +02:00
SmallJoker
affe299215 Merge remote-tracking branch 'upstream/stable-5' into HEAD 2025-08-01 15:00:01 +02:00
sfan5
69c4d742f8 Merge remote-tracking branch 'origin/stable-5' into HEAD 2025-05-23 19:29:50 +02:00
sfan5
4022d35c46 Merge remote-tracking branch 'origin/stable-5' into HEAD 2025-02-14 20:40:30 +01:00
sfan5
d6f590878c Merge remote-tracking branch 'origin/stable-5' into HEAD 2024-11-10 19:56:36 +01:00
SmallJoker
71d9f1771c Bump version to 5.9.1 2024-09-13 18:54:36 +02:00
sfan5
96fbc52071 Improve some protocol code log messages
also get rid of the very noisy socket debug message that are
useless in a world where Wireshark exists.
2024-09-13 18:54:13 +02:00
sfan5
7556bf43a6 Fix RTT set before value is available 2024-09-13 18:52:07 +02:00
sfan5
722c0044b1 Nerf protocol window sizes 2024-09-13 18:51:09 +02:00
sfan5
b93cce11d8 Count duplicate packets as congestion indicator 2024-09-13 18:48:33 +02:00
grorp
6bdd5c6773 Only apply "touch_punch_gesture" when wielded item has no on_use callback (#15098) 2024-09-13 18:45:26 +02:00
Gregor Parzefall
a8e7e261b9 Revert "Set VBO hints in more places" 2024-09-12 19:28:37 +02:00
sfence
73c29e7763 macOS: make mute sound actually work (#15128) 2024-09-08 20:31:35 +02:00
sfan5
e27757fa3a Fix texture matrix handling in our shaders 2024-09-08 20:31:35 +02:00
Lars Müller
4e3b8db2b9 Fix upright sprite entities not animating 2024-09-08 20:31:35 +02:00
sfence
336f8d4dc7 Generate Minetest.app on macOS 12, so at least macOS 12 will be supported 2024-09-08 20:31:35 +02:00
Lars Müller
7737906d2e Remove no* prefixes from settingtypes possible flags (#15111) 2024-09-08 20:31:35 +02:00
Desour
a6f1242a11 Fix CMeshBuffer::append reallocating too eagerly (#14969) 2024-09-08 20:31:35 +02:00
red-001
53c2fbb4c4 Don't attempt to process packets when there are none
Under certain unlikely circumstances the main server loop could attempt to process packets even when the connection didn't return one. This would result in the default empty packet being processed resulting in spurious warnings about a missing client.
2024-09-08 20:31:35 +02:00
sfan5
1d042a977d Avoid unsafety with stack-allocated mesh buffer 2024-09-08 20:29:58 +02:00
grorp
166782040e Fix uninitialized SkyboxParams::fog_color 2024-09-08 20:19:31 +02:00
grorp
9e198fc22c TouchControls: Fix outdated player controls in TOSERVER_INTERACT 2024-09-08 20:19:31 +02:00
grorp
ecf535ee83 Restore proportional minimap scaling (#15022) 2024-09-08 20:19:31 +02:00
cx384
f79a51c265 Main menu: formspec escape world name (#15064) 2024-09-08 20:19:31 +02:00
sfan5
bd25a06f44 Fix VBO hint for transparent block parts 2024-09-08 20:17:43 +02:00
SmallJoker
1caf26f18b LocalPlayer: Restore 2u height sneak jump (#15015)
Fix 1: Do not consider LocalPlayer's CAO in the collision data.
Fix 2: work around the "aabbox3d::intersectsWithBox" edge-case.
2024-09-08 20:17:32 +02:00
SmallJoker
5861192752 zstd: Fix minetest.decompress lockup when data ends too early 2024-09-08 20:16:52 +02:00
Lars Müller
02db521c80 Make getting bone overrides return the "same" euler angles (#15007) 2024-09-08 20:14:39 +02:00
sfan5
ba65eb953c Fix bounding box of clouds
fixes #15031
2024-09-08 20:14:39 +02:00
Zemtzov7
dbf2d26a85 Fix CSM help form using "/" instead of "." (#15034)
when copying commands to chat
2024-09-08 20:14:39 +02:00
rubenwardy
60694cbd30 Generate Android versionCode from Major.Minor.Patch (#14963) 2024-09-08 20:14:39 +02:00
Lars Müller
baafec9e9f Fix animations not being restartable (#15016) 2024-09-08 20:14:39 +02:00
rubenwardy
65d4335922 Fix Windows enabling touch controls due to existence of touchscreen (#15003)
We want to check for the form factor instead.
2024-09-08 20:14:39 +02:00
Lars Müller
5094838837 Revert empty form name deprecation warnings 2024-09-08 20:14:39 +02:00
sfan5
93ac2ed894 [no sq] Move shaders & remove dead Irrlicht tests (#15006)
* Move irrlicht shaders to correct place

* Remove unused Irrlicht tests
2024-09-08 20:14:39 +02:00
Dmitry Marakasov
c011fa0188 Include unistd.h for getpid() when _IRR_COMPILE_WITH_X11_ 2024-09-08 20:13:24 +02:00
rubenwardy
c2057eee4b Merge remote-tracking branch 'upstream/stable-5' into HEAD 2024-08-11 17:08:47 +01:00
Gregor Parzefall
d445638265 Bump version to 5.8.1 2024-05-06 20:58:14 +02:00
Gregor Parzefall
f61f6626b7 Fix Android build for 5.8.1 2024-05-06 20:58:14 +02:00
Gregor Parzefall
857ba25115 Android CI: Additionally make an AAB for uploading to the Play Store (#14584) 2024-05-06 20:58:14 +02:00
grorp
00774bc28b Fix some Game members not being freed after some startup errors (#14561) 2024-05-06 20:58:14 +02:00
Gregor Parzefall
f572266f19 Fix local server startup and shutdown blocking the main thread
Co-authored-by: sfan5 <sfan5@live.de>
2024-05-06 20:58:14 +02:00
Gregor Parzefall
c3893064a3 Fix all cached media being loaded at once on the main thread 2024-05-06 20:58:14 +02:00
grorp
4183443f02 Allow sync HTTP fetches to be interrupted to fix hanging (#14412)
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2024-05-06 20:58:14 +02:00
sfan5
5715434d5e Skip Android deps download if they already exist
It's close to impossible to test locally built changes otherwise.
2024-05-06 20:58:14 +02:00
lhofhansl
ab2419db24 Allow shaders with disabled post processing pipeline (#14338)
- Allow disabling of the post processing pipeline while leaving shaders enabled
- Also disable post processing on Android by default
2024-05-06 20:58:14 +02:00
David Heidelberg
35a83c3514 Enable IPO/LTO by default except for debug builds (#14198)
Test case:

```
$ cmake . -DRUN_IN_PLACE=TRUE -DCMAKE_BUILD_TYPE=Release -DBUILD_SERVER=TRUE -DENABLE_TOUCH=FALSE

         minetest minetestserver
W/o LTO:      13M           7.3M
W/  LTO:      11M           5.9M
difference:   15%            19%
```

Also fixes various compiler warnings resulting from compilation using LTO.

---------

Signed-off-by: David Heidelberg <david@ixit.cz>
2024-05-06 20:58:14 +02:00
sfan5
de09cac1e9 Drop valgrind from CI and instead enable ASan
The recently added ioctl use is reported as a false-positive by valgrind.
I tried moving it to different compilers/versions two times and only
hit further issues that were valgrind's fault.

Also includes a tiny fix.
2024-05-06 20:58:14 +02:00
sfan5
b64f4bdb3a Optimize fs::CopyFileContents on Linux and Windows 2024-05-06 20:58:14 +02:00
sfan5
008310aad9 Add unit tests for fs::CopyFileContents 2024-05-06 20:58:14 +02:00
sfan5
4d024d737c Bypass media transfer in single player 2024-05-06 20:58:14 +02:00
grorp
50edb30a18 Save the settings in more cases to avoid losing setting changes (especially on Android) (#14266) 2024-05-06 20:58:14 +02:00
Muhammad Rifqi Priyo Susanto
00f6bd0f08 Android: Use the correct value for notification (#14209)
The notification channel creation is moved into MainActivity.
The notification channel ID string is stored into a static variable.
The name and description of the notification channel are stored into the strings resource file.

Co-authored-by: sfan5 <sfan5@live.de>
2024-05-06 20:58:14 +02:00
Maintainer_
81e40a1172 Fix GameUI text staying visible during shutdown. (#14197) 2024-05-06 20:58:14 +02:00
grorp
fe4f89f3fa Touchscreen: Make server-sent overrides of button textures work (#14145) 2024-05-06 20:58:14 +02:00
Gregor Parzefall
0d372250c1 Fix TouchScreenGUI ignoring server-sent pitch changes 2024-05-06 20:58:14 +02:00
Gregor Parzefall
367720020c Fix touch input on Linux
The code relied on touch IDs being consecutive. This is true on Android, but not on Linux.
Therefore, touch input on Linux was broken since 53886dcdb5.
2024-05-06 20:58:14 +02:00
grorp
0dab82085d Fix unittest failure for release versions (#14067) 2024-05-06 20:58:14 +02:00
SmallJoker
cb211d63cd Merge remote-tracking branch 'upstream/stable-5' into HEAD 2023-12-04 19:04:18 +01:00
sfan5
2e497cc471 Merge remote-tracking branch 'origin/stable-5' into HEAD 2023-04-08 19:32:11 +02:00
sfan5
587f6656a4 Bump version to 5.6.1 2022-09-19 21:05:10 +02:00
sfan5
4377c03168 Bump used IrrlichtMt version 2022-09-16 20:27:29 +02:00
savilli
1e0520074c Fix UAF in craft recipes (#12763)
If you call minetest.clear_craft after minetest.register_alias_force, the craft definition reference may not be removed from m_output_craft_definitions leading to UAF.
2022-09-16 19:18:51 +02:00
DS
b9f6832347 Fix tooltips for dropdown, scrollbar and more (#12747) 2022-09-14 13:48:06 +02:00
Jude Melton-Houghton
f8bb0cd3d1 Fix potential use-after-free with item metadata (#12729)
This fixes a use-after-free bug in the case where itemstack metadata is accessed after the itemstack has been garbage-collected.
2022-09-14 13:48:06 +02:00
Lars Mueller
129aef758e Serialize: Restore forward compatibility 2022-09-14 13:48:06 +02:00
Lars Mueller
94f55cf406 Serialize: Use numbers for refs to work around LuaJIT limits 2022-09-14 13:48:06 +02:00
sfan5
a20b758e19 Allow looped animation to be used safely with old clients
fixes #12657
2022-09-14 13:48:06 +02:00
pecksin
128842becf Chat weblink: remove comma as delimiter (#12730) 2022-09-14 13:48:06 +02:00
x2048
d51331f51f Convert entity glow value to color space before adding to the light 2022-09-14 13:48:06 +02:00
Niklp
4ef221a645 Fix incorrectly placed label in tab_online (#12732) 2022-09-14 13:48:06 +02:00
savilli
79010e972e Fix and enable x86 build for Android (#12700) 2022-09-14 13:48:06 +02:00
fluxionary
0ca530e251 Fix texture_min_size 2022-09-14 13:48:06 +02:00
Elliott Lester
57b4d46dbc Apply DPI Scaling to GUIModalMenu (#12693)
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-14 13:48:06 +02:00
rubenwardy
50df5e2f59 Fix crash when trying to overwrite a package
Before #11646, core.copy_dir would overwrite the target if it exists. Adding core.delete_dir restores the exact same behaviour

Fixes #12303
2022-09-14 13:48:06 +02:00
Fábio Rodrigues Ribeiro
b6db2c7262 Remove resolution of appstream screenshots (#12652)
resolves Appdata not valid #12597
2022-09-14 13:48:06 +02:00
sfan5
9441b69ad2 Move some CI jobs to newer compiler versions 2022-09-14 13:48:06 +02:00
x2048
08e3d16a58 Limit force shadow update to urgent blocks (#12692) 2022-09-14 13:48:06 +02:00
Lars Müller
3f3049fdba Check hp_max > 0 for entities (#12667) 2022-09-14 13:39:30 +02:00
Zughy
41fb7a8a7e Reassure previous nil behaviour for tiles and special_tiles (#12678)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2022-09-14 13:39:20 +02:00
Zughy
5b9828e094 Fix crash when crafting callbacks return strings (#12685)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2022-09-14 13:37:54 +02:00
Zughy
96e35585b0 Fix crash when stars are reset 2022-09-14 13:37:44 +02:00
sfan5
f035fe9336 Merge remote-tracking branch 'origin/stable-5' into HEAD 2022-08-04 22:54:13 +02:00
sfan5
44c2e33c78 Bump version to 5.5.1 2022-05-15 21:53:21 +02:00
rubenwardy
2785dcbbbf Fix broken dependency enabling due to missing enabled field 2022-05-14 18:24:46 +01:00
sfan5
9b03bd3243 Fix Docker build
prometheus-cpp switched to C++14 in April (after we did) so this issue only affects older branches.
2022-05-14 18:51:48 +02:00
Jude Melton-Houghton
8f30456ee3 Fix cooking and fuel crafts with aliases 2022-05-14 18:33:42 +02:00
Octavian
38557ff635 Fix possible unreliable behavior due to uninitialized variables 2022-05-14 18:33:42 +02:00
Lars Müller
7bc2cde4dd HUD: Update selection mesh every frame (#12270)
Fixes outdated selection boxes after entity property changes.
2022-05-14 18:33:42 +02:00
Lars Müller
f065d3a06b Fix Minetest blaming the wrong mod for errors (#12241)
Covers the case where mods insert their callbacks manually into "minetest.registered_<callbacks>" (often to achieve a particular order of execution).
2022-05-14 18:33:42 +02:00
Jude Melton-Houghton
21f7e3a987 Enable dependencies when enabling modpacks (#12202) 2022-05-14 18:33:42 +02:00
Jude Melton-Houghton
9f688bc433 Fix enabling of dependencies with identical names (#12253) 2022-05-14 18:33:42 +02:00
rubenwardy
6e9d31d4fb Fix mods not being recursively enabled
Fixes #12290
2022-05-14 18:33:42 +02:00
sfan5
e81c48526b Declare all bundled libs as static
Otherwise it can happen that these are built as shared depending on the
options passed to CMake, which obviously isn't intended.
2022-05-14 18:33:42 +02:00
SmallJoker
b405985b80 guiScalingFilter: Fix most memory leaks (#12256)
Calls to the cache function ended up creating a new texture regardless whether
the texture is already cached.
2022-05-14 18:33:42 +02:00
rubenwardy
8b010c5a9f ContentDB: Fix ungraceful crash on aliases when list download fails
Fixes #12267 and fixes #12154
2022-05-14 18:33:42 +02:00
sfan5
1e7b5d6fdb Fix synchronization issue at thread start
If a newly started thread immediately exits then m_running would
immediately be set to false again and the caller would be stuck
waiting for m_running to become true forever.
Since a mutex for synchronizing startup already exists we can
simply move the while loop into it.

see also: #5134 which introduced m_start_finished_mutex
2022-05-14 18:33:42 +02:00
sfan5
a55982e7f0 Fix password changing getting stuck if wrong password is entered once 2022-05-14 18:33:42 +02:00
sfan5
1ac378063e Apply disallow_empty_password to password changes too 2022-05-14 18:33:42 +02:00
sfan5
d497c92684 Fix race condition in registration leading to duplicate create_auth calls 2022-05-14 18:33:42 +02:00
paradust7
677dc2c155 Remove HW_buffer_counter after IrrlichtMt fix to remove HWBufferMap (#12232)
Keep code and use version check instead, for backwards compatibility
2022-05-14 18:33:42 +02:00
Alex
beea8deeb5 Fix invalid queued package element and path (#12218) 2022-05-14 18:33:42 +02:00
Giuseppe Bilotta
0d0f1a2fb2 Fix some textures not being sent correctly to older clients
Since b2eb44afc5, a texture defined as
`[combine:16x512:0,0=some_file.png;etc`
will not be sent correctly from a 5.5 server to a 5.4 client due to the
overeager detection of unsupported base modifier `[` introducing a
spurious `blank.png^` before the modifier.

Fix this by whitelisting which base modifiers can be passed through
unchanged to the client, and prefix `blank.png` for the others
(which at the moment is just [png:, but the list may grow larger
as new base modifiers are added.)
2022-05-14 18:33:42 +02:00
paradust7
439701ed7a Fix '[combine' when EVDF_TEXTURE_NPOT is disabled. (#12187)
Stop scaling images to POT immediately when loaded. The 'combine'
modifier hardcodes X and Y coordinates, and so behaves incorrectly
if applied to a scaled image. Images emitted by generateImage()
are already scaled to POT before being used as a texture, so
nothing should break.
2022-05-14 18:33:42 +02:00
ShadowNinja
d945d0129c Fix OOB read in trim("") 2022-05-14 18:33:42 +02:00
Dmitry Kostenko
cc91477308 Avoid negation of comparison operator (luacheck warning) 2022-05-14 18:33:42 +02:00
Daroc Alden
ac139ec03d Fix memory leak in EmergeManager
EmergeManager keeps a copy of the BiomeGen that it creates, but
never deletes it.
2022-05-14 18:33:42 +02:00
Gregor Parzefall
b4f0e834bf Fix footsteps for players whose collision box min y != 0 (#12110) 2022-05-14 18:33:42 +02:00
Daroc Alden
6e6cdc834f Fix undefined behavior in TileLayer (#12125)
Initialize the values properly
2022-05-14 18:33:42 +02:00
Daroc Alden
4b81ae1b35 Fix memory leak from SpatialAreaStore (#12120) 2022-05-14 18:33:42 +02:00
sfan5
d569dc45a8 Fix segfault with autoscale_mode (again)
closes #12100
This time add some asserts so there is no misunderstanding about the NULL-ness of layer->texture.
2022-05-14 18:33:42 +02:00
sfan5
23d49fda29 Clean up ClientReady packet handling
fixes #12073
2022-05-14 18:33:42 +02:00
pecksin
62ad2c3bc1 Use absolute value for bouncy in collision (#11969)
[backport: removed devtest change and protocol_version comparison]
2022-05-14 18:33:42 +02:00
sfan5
25373ad294 Remove awful Mingw32 workarounds
Instead a warning is triggered if an affected compiler is detected.
closes #12022
2022-05-12 11:36:50 +02:00
sfan5
26d0c0fd8d Fix broken server startup if curl is disabled (#12046) 2022-05-12 11:36:39 +02:00
Lars Mueller
3afffcd36b Fix builtin statbar backgrounds
see #12000
2022-05-12 11:36:11 +02:00
sfan5
5440de1785 Merge remote-tracking branch 'origin/stable-5' into HEAD 2022-01-30 23:10:56 +01:00
rubenwardy
25a56f11c8 Bump version to 5.4.2 2021-10-22 23:06:51 +01:00
rubenwardy
8271c6481f Fix manifest and various things 2021-10-20 15:27:30 +01:00
sfan5
83e26f839d Reserve vectors before pushing and other code quality changes (#11161) 2021-10-20 14:25:39 +01:00
sfan5
c3f7905d82 Remove broken timeout behaviour
Code that relies on `resend_count` was added in 7ea4a03 and 247a1eb, but never worked.
This was fixed in #11607 which caused the problem to surface.
Hence undo the first commit entirely and change the logic of the second.
2021-10-19 19:23:00 +01:00
sfan5
05b54a8d18 Shave off buffer copies in networking code (#11607) 2021-10-19 19:22:46 +01:00
rubenwardy
e5cfdd369e Update deps ref 2021-10-18 18:33:25 +01:00
rubenwardy
c61d8cfb85 Use scoped app storage on Android (#11466)
From November 2021, the Play Store will no longer be accepting
apps which use the deprecated getExternalStorageDirectory() API.

Therefore, this commit replaces uses of deprecated API with the new
scoped API (`getExternalFilesDir()` and `getExternalCacheDir()`).
It also provides a temporary migration to move user data from the
shared external directory to new storage.

Fixes #2097,  #11417 and #11118
2021-10-18 18:12:03 +01:00
NeroBurner
27f4195471 Move build/android directory to root of project (#11283) 2021-10-18 18:11:33 +01:00
sfan5
b2596eda32 Bump version to 5.4.1 2021-04-10 18:41:12 +02:00
waxtatect
9379440fcb Translated using Weblate (French)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
Brian Gaucher
b7c502c8d1 Translated using Weblate (French)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
Markus Mikkonen
3c16d2d9b4 Translated using Weblate (Finnish)
Currently translated at 3.2% (44 of 1356 strings)
2021-04-10 17:51:40 +02:00
Tviljan
6cbc03a418 Translated using Weblate (Finnish)
Currently translated at 3.2% (44 of 1356 strings)
2021-04-10 17:51:40 +02:00
Edward
15ecc0fa65 Translated using Weblate (Russian)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
ssantos
7f2f8cdad1 Translated using Weblate (Portuguese)
Currently translated at 93.2% (1264 of 1356 strings)
2021-04-10 17:51:40 +02:00
waxtatect
a64646cb7b Translated using Weblate (French)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
David Leal
05f531c538 Translated using Weblate (Spanish)
Currently translated at 79.7% (1081 of 1356 strings)
2021-04-10 17:51:40 +02:00
François Delpierre
7ca335446b Translated using Weblate (French)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
waxtatect
99e96a6581 Translated using Weblate (French)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
BreadW
7200d8f90e Translated using Weblate (Japanese)
Currently translated at 99.8% (1354 of 1356 strings)
2021-04-10 17:51:40 +02:00
GnuPGを使うべきだ
7038837aca Translated using Weblate (Japanese)
Currently translated at 99.7% (1353 of 1356 strings)
2021-04-10 17:51:40 +02:00
ItsWidee
541dcc0e5a Translated using Weblate (French)
Currently translated at 98.0% (1330 of 1356 strings)
2021-04-10 17:51:40 +02:00
François Delpierre
1060b5aabf Translated using Weblate (French)
Currently translated at 96.6% (1311 of 1356 strings)
2021-04-10 17:51:40 +02:00
Dainis
6ea73c4982 Translated using Weblate (Latvian)
Currently translated at 28.6% (388 of 1356 strings)
2021-04-10 17:51:40 +02:00
Konstantin Yeliseyev
cff847273a Translated using Weblate (Russian)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
ResuUman
e669f8db9b Translated using Weblate (Polish)
Currently translated at 72.4% (982 of 1356 strings)
2021-04-10 17:51:40 +02:00
Mateusz Mendel
461cc30842 Translated using Weblate (Polish)
Currently translated at 72.4% (982 of 1356 strings)
2021-04-10 17:51:40 +02:00
gnu-ewm
13d7cb957c Translated using Weblate (Polish)
Currently translated at 71.6% (972 of 1356 strings)
2021-04-10 17:51:40 +02:00
Alessandro Mandelli
47a439a905 Translated using Weblate (Italian)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:40 +02:00
Hatlábú Farkas
053fb96694 Translated using Weblate (Hungarian)
Currently translated at 75.8% (1028 of 1356 strings)
2021-04-10 17:51:39 +02:00
ItsWidee
b72c1f7367 Translated using Weblate (French)
Currently translated at 96.5% (1309 of 1356 strings)
2021-04-10 17:51:39 +02:00
matiasC
e90738575f Translated using Weblate (Spanish)
Currently translated at 79.5% (1079 of 1356 strings)
2021-04-10 17:51:39 +02:00
Joaquín Villalba
35718eec9c Translated using Weblate (Spanish)
Currently translated at 79.5% (1079 of 1356 strings)
2021-04-10 17:51:39 +02:00
AnthonyDe
8285a53152 Translated using Weblate (Spanish)
Currently translated at 79.5% (1079 of 1356 strings)
2021-04-10 17:51:39 +02:00
Michalis
116fe7815b Translated using Weblate (Greek)
Currently translated at 8.8% (120 of 1356 strings)
2021-04-10 17:51:39 +02:00
Yangjun Wang
4c2efd7da3 Translated using Weblate (Chinese (Simplified))
Currently translated at 94.7% (1285 of 1356 strings)
2021-04-10 17:51:39 +02:00
Liu Tao
1a433e3185 Translated using Weblate (Chinese (Simplified))
Currently translated at 94.7% (1285 of 1356 strings)
2021-04-10 17:51:39 +02:00
Yangjun Wang
fa98a00916 Translated using Weblate (Chinese (Simplified))
Currently translated at 92.5% (1255 of 1356 strings)
2021-04-10 17:51:39 +02:00
David Leal
f4dd46ad60 Translated using Weblate (Spanish)
Currently translated at 79.0% (1072 of 1356 strings)
2021-04-10 17:51:39 +02:00
Joaquín Villalba
41825ccfbb Translated using Weblate (Spanish)
Currently translated at 78.0% (1059 of 1356 strings)
2021-04-10 17:51:39 +02:00
David Leal
4d1a5f12c0 Translated using Weblate (Spanish)
Currently translated at 78.0% (1059 of 1356 strings)
2021-04-10 17:51:39 +02:00
Agustin Calderon
cc58d56c6d Translated using Weblate (Spanish)
Currently translated at 78.0% (1059 of 1356 strings)
2021-04-10 17:51:39 +02:00
abidin toumi
683ef07312 Translated using Weblate (Arabic)
Currently translated at 25.7% (349 of 1356 strings)
2021-04-10 17:51:39 +02:00
Tirifto
c77c78cef5 Translated using Weblate (Esperanto)
Currently translated at 94.6% (1283 of 1356 strings)
2021-04-10 17:51:39 +02:00
Oğuz Ersen
88517030a4 Translated using Weblate (Turkish)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:39 +02:00
THANOS SIOURDAKIS
45471e8e63 Translated using Weblate (Greek)
Currently translated at 8.8% (120 of 1356 strings)
2021-04-10 17:51:39 +02:00
Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi
4e620beb75 Translated using Weblate (Malay)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:39 +02:00
winniepee
e7ab875b47 Translated using Weblate (Chinese (Simplified))
Currently translated at 92.4% (1254 of 1356 strings)
2021-04-10 17:51:39 +02:00
Ayes
be74ed9ab6 Translated using Weblate (Estonian)
Currently translated at 39.5% (536 of 1356 strings)
2021-04-10 17:51:39 +02:00
Wuzzy
52b2eacd37 Translated using Weblate (German)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:39 +02:00
Marian
6b4210a2ea Translated using Weblate (Slovak)
Currently translated at 100.0% (1356 of 1356 strings)
2021-04-10 17:51:39 +02:00
narrnika
740d0da5ee Translated using Weblate (Russian)
Currently translated at 99.3% (1347 of 1356 strings)
2021-04-10 17:51:07 +02:00
Mateusz Mendel
34883d356e Translated using Weblate (Polish)
Currently translated at 71.2% (966 of 1356 strings)
2021-04-10 17:51:07 +02:00
Giov4
aeafcce314 Translated using Weblate (Italian)
Currently translated at 99.7% (1352 of 1356 strings)
2021-04-10 17:51:07 +02:00
savilli
ae1d82c325 Fix hud_change and hud_remove after hud_add (#10997) 2021-04-09 22:05:22 +02:00
Vitaliy
1c89a07226 Restore minimal normal texture support (for minimap shading) 2021-04-09 22:04:51 +02:00
sfan5
43e262f13e Don't apply connection timeout limit to locally hosted servers
fixes #11085
2021-04-05 16:02:47 +02:00
sfan5
e5f802ab5c Fix server favorites not saving when client/serverlist/ doesn't exist already (#11152) 2021-04-05 16:02:32 +02:00
Lars Müller
847860fc5c Block & report player self-interaction (#11137) 2021-04-05 16:01:27 +02:00
SmallJoker
77e936445f Protect dropping from far node inventories
Also changes if/if to switch/case
2021-04-05 16:01:21 +02:00
SmallJoker
41beb74ef7 Protect per-player detached inventory actions 2021-04-05 16:01:15 +02:00
Elias Fleckenstein
67be50b706 Make pkgmgr handle modpacks containing modpacks properly
fixes #10550
2021-04-05 16:01:10 +02:00
rubenwardy
cd840b7c9d pkgmgr: Fix crash when .conf release field is invalid
Fixes #10942
2021-04-05 16:01:03 +02:00
sfan5
07903949ec Merge remote-tracking branch 'origin/stable-5' into HEAD 2021-02-23 20:18:23 +01:00
sfan5
d2156ddaad Merge remote-tracking branch 'origin/stable-5' into HEAD 2020-07-09 22:21:48 +02:00
sfan5
a84ff4b3ff Merge remote-tracking branch 'origin/stable-5' into HEAD 2020-04-05 18:44:51 +02:00
rubenwardy
c02f13d33f Release 5.1.1 2020-01-11 18:29:02 +00:00
rubenwardy
f6490859fd Translated using Weblate (Japanese (Kansai))
Currently translated at 0.2% (2 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
4b7816dbf4 Translated using Weblate (Burmese)
Currently translated at 0.2% (2 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
86ffbc3ec5 Translated using Weblate (Kazakh)
Currently translated at 0.2% (2 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
67257f44a5 Translated using Weblate (Arabic)
Currently translated at 6.1% (78 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
3086f5567a Translated using Weblate (Vietnamese)
Currently translated at 2.5% (32 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
bb8acb095d Translated using Weblate (Portuguese)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
24be3cbb5f Translated using Weblate (Basque)
Currently translated at 15.1% (193 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
9773191103 Translated using Weblate (Greek)
Currently translated at 1.4% (18 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
ddc703c3ec Translated using Weblate (Filipino)
Currently translated at 0.2% (2 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
09ec204e4b Translated using Weblate (Thai)
Currently translated at 66.9% (852 of 1274 strings)
2020-01-11 18:29:02 +00:00
rubenwardy
8b6cafa0e0 Translated using Weblate (Lao)
Currently translated at 0.2% (2 of 1274 strings)
2020-01-11 18:29:02 +00:00
Osoitz
1ee8be9d43 Translated using Weblate (Basque)
Currently translated at 15.1% (192 of 1274 strings)
2020-01-10 18:57:47 +00:00
Dhimas Wnz
91bc190d21 Translated using Weblate (Indonesian)
Currently translated at 96.9% (1234 of 1274 strings)
2020-01-10 18:57:47 +00:00
THANOS SIOURDAKIS
4dc833b642 Translated using Weblate (Greek)
Currently translated at 1.3% (17 of 1274 strings)
2020-01-10 18:57:47 +00:00
universales
895e9f8d5c Translated using Weblate (Spanish)
Currently translated at 61.9% (789 of 1274 strings)
2020-01-10 18:57:47 +00:00
Osoitz
12906ff631 Translated using Weblate (Basque)
Currently translated at 9.7% (123 of 1274 strings)
2020-01-10 18:57:47 +00:00
Osoitz
9c9bcff107 Added translation using Weblate (Basque) 2020-01-10 18:57:47 +00:00
Hotower
443ca5c63b Translated using Weblate (Chinese (Simplified))
Currently translated at 65.1% (830 of 1274 strings)
2020-01-10 18:57:47 +00:00
Stas Kies
1102b1fc4c Translated using Weblate (German)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:47 +00:00
abidin toumi
0d089eab21 Translated using Weblate (Arabic)
Currently translated at 6.0% (77 of 1274 strings)
2020-01-10 18:57:47 +00:00
zaoqi
b44fada29e Translated using Weblate (Chinese (Simplified))
Currently translated at 65.1% (830 of 1274 strings)
2020-01-10 18:57:47 +00:00
Yangjun Wang
859ea160e6 Translated using Weblate (Chinese (Simplified))
Currently translated at 63.2% (805 of 1274 strings)
2020-01-10 18:57:47 +00:00
Ács Zoltán
1c49e2ffc0 Translated using Weblate (Hungarian)
Currently translated at 61.9% (789 of 1274 strings)
2020-01-10 18:57:47 +00:00
Tirifto
140245c58d Translated using Weblate (Esperanto)
Currently translated at 97.2% (1238 of 1274 strings)
2020-01-10 18:57:47 +00:00
Petter Reinholdtsen
47adcced60 Translated using Weblate (Norwegian Bokmål)
Currently translated at 43.3% (552 of 1274 strings)
2020-01-10 18:57:47 +00:00
Luboš Nečas
a2054deb12 Translated using Weblate (Czech)
Currently translated at 48.8% (622 of 1274 strings)
2020-01-10 18:57:47 +00:00
Tirifto
30fdfd9ded Translated using Weblate (Esperanto)
Currently translated at 94.9% (1209 of 1274 strings)
2020-01-10 18:57:47 +00:00
ramon.venson
a87a86eb92 Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.9% (1235 of 1274 strings)
2020-01-10 18:57:47 +00:00
Daniel Mancini
49dfbcfbc8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.9% (1235 of 1274 strings)
2020-01-10 18:57:47 +00:00
Andrei Stepanov
c558a4f4f6 Translated using Weblate (Russian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Andrei Stepanov
4f49a2248f Translated using Weblate (Russian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Andrei Stepanov
4e57da42c1 Translated using Weblate (Russian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Andrei Stepanov
4f6c9e206c Translated using Weblate (Russian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Andrei Stepanov
699e1d4b77 Translated using Weblate (Russian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Matej Mlinar
fa2978b3b9 Translated using Weblate (Slovenian)
Currently translated at 43.9% (559 of 1274 strings)
2020-01-10 18:57:46 +00:00
abidin toumi
ffcdf741fc Translated using Weblate (Arabic)
Currently translated at 5.7% (73 of 1274 strings)
2020-01-10 18:57:46 +00:00
Fixer
429d7f33d4 Translated using Weblate (Ukrainian)
Currently translated at 42.1% (536 of 1274 strings)
2020-01-10 18:57:46 +00:00
Andrei Stepanov
b6a229775e Translated using Weblate (Russian)
Currently translated at 81.9% (1044 of 1274 strings)
2020-01-10 18:57:46 +00:00
abidin toumi
0a4580368a Translated using Weblate (Arabic)
Currently translated at 5.6% (71 of 1274 strings)
2020-01-10 18:57:46 +00:00
abidin toumi
e5b191e1f1 Translated using Weblate (Arabic)
Currently translated at 4.2% (53 of 1274 strings)
2020-01-10 18:57:46 +00:00
Andrei Stepanov
a07acc067b Translated using Weblate (Russian)
Currently translated at 81.7% (1041 of 1274 strings)
2020-01-10 18:57:46 +00:00
abidin toumi
01e763f879 Added translation using Weblate (Arabic) 2020-01-10 18:57:46 +00:00
Viktar Vauchkevich
a95e75261a Translated using Weblate (Belarusian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Julien Maulny
dcaa7ac609 Translated using Weblate (French)
Currently translated at 97.0% (1236 of 1274 strings)
2020-01-10 18:57:46 +00:00
Jacques Lagrange
7d2ae10849 Translated using Weblate (Italian)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
642cac3759 Translated using Weblate (Japanese (Kansai))
Currently translated at 0.1% (1 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
662af2edba Translated using Weblate (Dhivehi)
Currently translated at 8.2% (105 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
6f97e15a8f Translated using Weblate (Chinese (Simplified))
Currently translated at 63.0% (803 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
ab2fa2ca9d Translated using Weblate (Burmese)
Currently translated at 0.1% (1 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
4666c99b27 Translated using Weblate (Kyrgyz)
Currently translated at 8.6% (110 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
e38415c56d Translated using Weblate (Slovenian)
Currently translated at 42.0% (535 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
3f3fce4664 Translated using Weblate (Kannada)
Currently translated at 3.0% (38 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
1407a7bc8a Translated using Weblate (Kazakh)
Currently translated at 0.1% (1 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
1d268f4b83 Translated using Weblate (Norwegian Nynorsk)
Currently translated at 31.2% (398 of 1274 strings)
2020-01-10 18:57:46 +00:00
Krock
92aab79d27 Translated using Weblate (Italian)
Currently translated at 96.9% (1234 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
0823bb1276 Translated using Weblate (Hebrew)
Currently translated at 4.3% (55 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
18e42efa01 Translated using Weblate (Hungarian)
Currently translated at 61.9% (788 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
0ea16328df Translated using Weblate (Estonian)
Currently translated at 14.4% (183 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
b037efc5c6 Translated using Weblate (Esperanto)
Currently translated at 79.6% (1014 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
839bb71389 Translated using Weblate (Greek)
Currently translated at 1.1% (14 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
2ef7df5cfe Translated using Weblate (Danish)
Currently translated at 49.5% (631 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
f5d2d79f75 Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.4% (1228 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
8e5fa96ffc Translated using Weblate (Filipino)
Currently translated at 0.1% (1 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
6dbbe07d50 Translated using Weblate (Thai)
Currently translated at 66.8% (851 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
3c23410753 Translated using Weblate (Lithuanian)
Currently translated at 15.4% (196 of 1274 strings)
2020-01-10 18:57:45 +00:00
Krock
8e35ab78b4 Translated using Weblate (Lao)
Currently translated at 0.1% (1 of 1274 strings)
2020-01-10 18:57:45 +00:00
Allan Nordhøy
7f2911b7f0 Translated using Weblate (Italian)
Currently translated at 96.9% (1234 of 1274 strings)
2020-01-10 18:57:45 +00:00
Mateusz Mendel
d877e90301 Translated using Weblate (Polish)
Currently translated at 81.1% (1033 of 1274 strings)
2020-01-10 18:57:45 +00:00
Vicente Carrasco Alvarez
93db4be726 Translated using Weblate (Spanish)
Currently translated at 61.5% (783 of 1274 strings)
2020-01-10 18:57:45 +00:00
Mateusz Mendel
1f419ad19f Translated using Weblate (Polish)
Currently translated at 81.1% (1033 of 1274 strings)
2020-01-10 18:57:45 +00:00
Muhammad Nur Hidayat Yasuyoshi
3c7f6508ad Translated using Weblate (Malay)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:45 +00:00
Mattias Münster
39449d4b63 Translated using Weblate (Swedish)
Currently translated at 32.7% (417 of 1274 strings)
2020-01-10 18:57:45 +00:00
Jacques Lagrange
28e05295fa Translated using Weblate (Italian)
Currently translated at 96.9% (1234 of 1274 strings)
2020-01-10 18:57:45 +00:00
Ács Zoltán
60c18d3550 Translated using Weblate (Hungarian)
Currently translated at 61.9% (788 of 1274 strings)
2020-01-10 18:57:45 +00:00
ssantos
482ab186a2 Translated using Weblate (Portuguese)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:45 +00:00
BreadW
4814195dc4 Translated using Weblate (Japanese)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:45 +00:00
Wuzzy
d215b7a10e Translated using Weblate (German)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:45 +00:00
nautilusx
0e52b78590 Translated using Weblate (German)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:45 +00:00
monolifed
b3a9d607c4 Translated using Weblate (Turkish)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:45 +00:00
Oguz Ersen
c00081b62c Translated using Weblate (Turkish)
Currently translated at 100.0% (1274 of 1274 strings)
2020-01-10 18:57:44 +00:00
William Breathitt Gray
5e4739b460 Fix find_path for newer jsoncpp installations
The upstream JsonCpp project has renamed the `json/features.h` file to
`json/json_features.h`. This patch fixes the JsonCpp installation search
by looking for `json/allocator.h` which has not been renamed on newer
versions of JsonCpp.

Fixes: https://github.com/minetest/minetest/issues/9119
2019-12-31 21:39:16 +00:00
SmallJoker
0d8f598df2 Fix LocalPlayer-bound sound playback broken by 81c2370 2019-12-31 21:31:53 +00:00
Wuzzy
2ef04cc308 Fix item eat sound not played if last item (#9239) 2019-12-31 21:31:53 +00:00
rubenwardy
7a0884e2cd Fix spaces breaking formspec_version[] tag 2019-12-31 21:31:53 +00:00
ANAND
fa858530cc Use a safer implementation of gsub in core.chat_format_message (#9133)
This search-and-replace implementation does not use Lua pattern-matching
2019-12-31 21:31:53 +00:00
sfan5
1c61fe5ed9 Rework packet receiving in ServerThread
Notably it tries to receive all queued packets
between server steps, not just one.
2019-12-31 21:31:53 +00:00
Dmitry Marakasov
57409ef382 Fix build issue due to conflicting s64 type definitions (#9064)
See comment in irrlichttypes.h and https://sourceforge.net/p/irrlicht/bugs/433/
2019-12-31 21:31:52 +00:00
SmallJoker
06ba826803 Formspecs: Reset version number on rebuild 2019-12-26 17:24:27 +00:00
rubenwardy
6e6ef9489f Continue with 5.1.1-dev 2019-12-26 17:24:23 +00:00
Loic Blot
45bbe39d1f Add arm64-v8a but it's not sufficient for 64bit build 2019-11-09 12:50:53 +01:00
Loic Blot
6c9fc13083 Bump to version code 25 2019-11-09 11:37:46 +01:00
MoNTE48
4c8a642388 Android: build fixes & compat fixes 2019-11-09 11:23:31 +01:00
sfan5
6208c9d64f Merge remote-tracking branch 'origin/stable-5' into HEAD 2019-10-12 15:59:36 +02:00
sfan5
76325d0ba9 Bump version to 5.0.1 2019-03-31 22:57:45 +02:00
rubenwardy
cf1802a6de Prevent multi-line chat messages server-side (#8420) 2019-03-28 21:49:03 +00:00
sfan5
538a7b12bd Fix texture rotation for wallmounted nodeboxes
fixes #8358
2019-03-19 22:37:11 +01:00
sfan5
57e0f52aaa httpfetch: Disable IPv6 here too if requested by settings (#8399) 2019-03-19 02:18:34 +00:00
Paramat
1ae0335b62 num_emerge_threads: Initialise value to cope with setting syntax error (#8396) 2019-03-19 02:18:26 +00:00
paramat
ca1bff6b66 num_emerge_threads: Fix documentation of automatic selection 2019-03-19 02:18:17 +00:00
Paramat
10cc62d2ca num_emerge_threads: Warn of crashes when > 1 (#8357) 2019-03-14 17:58:19 +00:00
rubenwardy
dd451a8a00 Fix cast from const by accessing string data directly (#8354)
Fixes #8327
2019-03-12 20:25:55 +00:00
rubenwardy
444ec1e412 HPChange Reason: Fix push after free, and type being overwritten (#8359)
* HPChange Reason: Fix push after free, and type being overwritten

Fixes #8227 and #8344
2019-03-12 20:25:48 +00:00
Paramat
82739f4d7d Change 'num_emerge_threads' default to 1 (#8303) 2019-03-11 22:07:19 +00:00
sofar
19825d853e getS16NoEx() returns true unless syntactical error in conf. (#8304)
The getS16NoEx() handler will return true unless there is a
`[num_emerge_threads]` line in the `minetest.conf` at which
point the excption handler part is reached. Due to the fact that
`defaultsettings.cpp` has a default value set for this setting,
that never will happen.

Because of this, the code will never check the number of threads on
the system, and keep `nthreads = 0`. If that happens, the value is
changed to `1` and only 1 emerge thread will be used.

The default should be set to `1` instead, due to the potential unsafe
consequences for the standard sqlite map files, but that should be a
separate commit that also adds documentation for that setting. This
commit focuses on removing this `hiding` bug instead.
2019-03-11 22:07:19 +00:00
rubenwardy
d8ece2e3e9 Fix serialization of std::time_t by casting to u64 first (#8353)
Fixes #8332
2019-03-11 22:07:19 +00:00
Paramat
bf4deb0ce6 Confirm registration GUI: Remove positional strings to fix Windows bug (#8258)
Positional strings don't work on some Windows builds.
Remove server address string, leave player name string present.
2019-03-11 22:07:19 +00:00
rubenwardy
da4739a26c Fix detach inventory serialisation (#8331) 2019-03-11 22:07:19 +00:00
rubenwardy
fc24bf0915 Fix incorrect string length check after cast 2019-03-11 22:07:19 +00:00
rubenwardy
9329b99cba Continue with 5.0.1-dev 2019-03-11 22:07:12 +00:00
46 changed files with 863 additions and 467 deletions

View File

@@ -41,7 +41,7 @@ stds.menu_common = {
},
}
files["builtin/client/register.lua"] = {
files["builtin/client/init.lua"] = {
globals = {
debug = {fields={"getinfo"}},
}

View File

@@ -19,7 +19,7 @@ set(VERSION_PATCH 0)
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
# Change to false for releases
set(DEVELOPMENT_BUILD TRUE)
set(DEVELOPMENT_BUILD FALSE)
set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
if(VERSION_EXTRA)

View File

@@ -6,7 +6,7 @@ android {
applicationId 'net.minetest.minetest'
minSdkVersion 21
compileSdk 34
targetSdkVersion 34
targetSdkVersion 35
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="label">Luanti</string>
<string name="loading">Carregando…</string>
<string name="notification_channel_name">Notificação geral</string>
<string name="notification_channel_description">Notificações do Luanti</string>
<string name="unzip_notification_title">Carregando Luanti</string>
<string name="unzip_notification_description">Menos de 1 minuto…</string>
<string name="game_notification_title">O Luanti está em execução</string>
<string name="ime_dialog_done">Concluído</string>
<string name="no_web_browser">Nenhum navegador encontrado</string>
</resources>

View File

@@ -15,8 +15,8 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.5.1'
classpath 'de.undercouch:gradle-download-task:4.1.1'
classpath 'com.android.tools.build:gradle:8.12.3'
classpath 'de.undercouch:gradle-download-task:5.6.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -30,5 +30,5 @@ allprojects {
}
task clean(type: Delete) {
delete rootProject.buildDir
delete rootProject.layout.buildDirectory
}

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

View File

@@ -68,5 +68,5 @@ if (new File(depsDir, 'armeabi-v7a').exists()) {
preBuild.dependsOn getDeps
clean {
delete new File(buildDir.parent, 'deps')
delete depsDir
}

View File

@@ -13,3 +13,6 @@ dofile(commonpath .. "information_formspecs.lua")
dofile(clientpath .. "chatcommands.lua")
dofile(clientpath .. "misc.lua")
assert(loadfile(commonpath .. "item_s.lua"))({}) -- Just for push/read node functions
-- unset, as promised in initializeSecurityClient()
debug.getinfo = nil

View File

@@ -1,4 +1,5 @@
local builtin_shared = ...
local debug_getinfo = debug.getinfo
do
local default = {mod = "??", name = "??"}
@@ -56,7 +57,7 @@ function builtin_shared.make_registration()
core.callback_origins[func] = {
-- may be nil or return nil
mod = core.get_current_modname and core.get_current_modname() or "??",
name = debug.getinfo(1, "n").name or "??"
name = debug_getinfo(1, "n").name or "??"
}
end
return t, registerfunc
@@ -69,7 +70,7 @@ function builtin_shared.make_registration_reverse()
core.callback_origins[func] = {
-- may be nil or return nil
mod = core.get_current_modname and core.get_current_modname() or "??",
name = debug.getinfo(1, "n").name or "??"
name = debug_getinfo(1, "n").name or "??"
}
end
return t, registerfunc

View File

@@ -1,4 +1,4 @@
local getinfo, rawget, rawset = debug.getinfo, rawget, rawset
local debug_getinfo, rawget, rawset = debug.getinfo, rawget, rawset
function core.global_exists(name)
if type(name) ~= "string" then
@@ -18,7 +18,7 @@ function meta:__newindex(name, value)
if declared[name] then
return
end
local info = getinfo(2, "Sl")
local info = debug_getinfo(2, "Sl")
if info ~= nil then
local desc = ("%s:%d"):format(info.short_src, info.currentline)
local warn_key = ("%s\0%d\0%s"):format(info.source, info.currentline, name)
@@ -36,7 +36,7 @@ function meta:__index(name)
if declared[name] then
return
end
local info = getinfo(2, "Sl")
local info = debug_getinfo(2, "Sl")
if info == nil then
return
end

View File

@@ -1,5 +1,6 @@
local builtin_shared = ...
local S = core.get_translator("__builtin")
local debug_getinfo = debug.getinfo
--
-- Make raw registration functions inaccessible to anyone except this file
@@ -548,7 +549,7 @@ function core.registered_on_player_hpchange(player, hp_change, reason)
local func = core.registered_on_player_hpchanges.modifiers[i]
hp_change, last = func(player, hp_change, reason)
if type(hp_change) ~= "number" then
local debuginfo = debug.getinfo(func)
local debuginfo = debug_getinfo(func)
error("The register_on_hp_changes function has to return a number at " ..
debuginfo.short_src .. " line " .. debuginfo.linedefined)
end
@@ -570,7 +571,7 @@ function core.register_on_player_hpchange(func, modifier)
end
core.callback_origins[func] = {
mod = core.get_current_modname() or "??",
name = debug.getinfo(1, "n").name or "??"
name = debug_getinfo(1, "n").name or "??"
}
end

View File

@@ -1,3 +1,246 @@
# textdomain: __builtin
Empty command.=Празна команда.
Invalid command: @1=Неприемлива команда: @1
Invalid command usage.=Неприемлива употреба на команда.
(@1 s)= (@1 сек)
Command execution took @1 s=Изпълнението на командата отне @1сек.
You don't have permission to run this command (missing privileges: @1).=Нямате права да изпълните тази команда (липсващи права: @1).
Unable to get position of player @1.=Неуспешно получаване на позицията на играч @1.
Incorrect area format. Expected: (x1,y1,z1) (x2,y2,z2)=Неправилен формат на област. Очаква се: (x1,y1,z1) (x2,y2,z2)
<action>=<действие>
Show chat action (e.g., '/me orders a pizza' displays '<player name> orders a pizza')=Показва действие в разговорите (напр. „/me поръчва пица“ показва „<име на играч> поръчва пица“)
Show the name of the server owner=Показва името на собственика на сървъра
The administrator of this server is @1.=Администраторът на този сървър е @1.
There's no administrator named in the config file.=Във файла с настройки не е зададен администратор.
@1 does not have any privileges.=@1 няма никакви права.
Privileges of @1: @2=Правата на @1: @2
[<name>]=[<име>]
Show privileges of yourself or another player=Показва вашите права или тези на друг играч
Player @1 does not exist.=Играчът @1 не съществува.
<privilege>=<права>
Return list of all online players with privilege=Показва списък на играчите на линия с дадени права
Invalid parameters (see /help haspriv).=Неприемливи параметри (вижте /help haspriv).
Unknown privilege!=Неизвестно право!
No online player has the "@1" privilege.=Няма играч на линия с правата „@1“.
Players online with the "@1" privilege: @2=Играчи на линия с правата „@1“: @2
Your privileges are insufficient.=Нямате достатъчно права.
Your privileges are insufficient. '@1' only allows you to grant: @2=Нямате достатъчно права. „@1“ ви позволява да давате само: @2
Unknown privilege: @1=Неизвестни права: @1
@1 granted you privileges: @2=@1 ви даде правото: @2
<name> (<privilege> [, <privilege2> [<...>]] | all)=<име> (<право> [, <право2> [<…>]] | all)
Give privileges to player=Дава права на играч
Invalid parameters (see /help grant).=Неприемливи параметри (вижте /help grant).
<privilege> [, <privilege2> [<...>]] | all=<право> [, <право2> [<…>]] | all
Grant privileges to yourself=Дава права на себе си
Invalid parameters (see /help grantme).=Неприемливи параметри (вижте /help grantme).
Your privileges are insufficient. '@1' only allows you to revoke: @2=Нямате достатъчно права. „@1“ ви позволява да отнемате само: @2
Note: Cannot revoke in singleplayer: @1=Забележка: Не може да отнемате права в режим един играч: @1
Note: Cannot revoke from admin: @1=Забележка: Не може да отнемате права на администратор: @1
No privileges were revoked.=Не са отнети права.
@1 revoked privileges from you: @2=@1 ви отне права: @2
Remove privileges from player=Отнема права от играч
Invalid parameters (see /help revoke).=Неприемливи параметри (вижте /help revoke).
Revoke privileges from yourself=Отнема права от себе си
Invalid parameters (see /help revokeme).=Неприемливи параметри (вижте /help revokeme).
<name> <password>=<име> <парола>
Set player's password (sent unencrypted, thus insecure)=Задава парола на играч (изпраща се нешифрована, следователно несигурно)
Name field required.=Полето за име е задължително.
Your password was cleared by @1.=Вашата парола е премахната от @1.
Password of player "@1" cleared.=Паролата на играч „@1“ е премахната.
Your password was set by @1.=Вашата парола е зададена от @1.
Password of player "@1" set.=Паролата на играча „@1“ е зададена.
<name>=<име>
Set empty password for a player=Задава празна парола на играч
Reload authentication data=Презарежда данните за удостоверяване
Done.=Готово.
Failed.=Грешка.
Remove a player's data=Премахва данните на играч
Player "@1" removed.=Играч „@1“ е премахнат.
No such player "@1" to remove.=Няма такъв играч „@1“, който да бъде премахнат.
Player "@1" is connected, cannot remove.=Играч „@1“ е свързан, не може да бъде премахнат.
Unhandled remove_player return code @1.=Неподдържан код на състояние remove_player @1.
Cannot teleport out of map bounds!=Не може да се телепортира извън границите на света!
Cannot get player with name @1.=Не може да бъде намерен играч с име @1.
Cannot teleport, @1 is attached to an object!=Не може да се телепортира, @1 е прикрепен към обект!
Teleporting @1 to @2.=Телепортиране на @1 до @2.
One does not teleport to oneself.=Не може да се телепортирате към себе си.
Cannot get teleportee with name @1.=Не може да бъде намерен телепортиран играч с име @1.
Cannot get target player with name @1.=Не може да бъде намерен целеви играч с име @1.
Teleporting @1 to @2 at @3.=Телепортиране на @1 до @2 на @3.
<X>,<Y>,<Z> | <to_name> | <name> <X>,<Y>,<Z> | <name> <to_name>=<X>,<Y>,<Z> | <до_име> | <име> <X>,<Y>,<Z> | <име> <до_име>
Teleport to position or player=Телепортира до координати или играч
You don't have permission to teleport other players (missing privilege: @1).=Нямате право да телепортирате други играчи (липсващи права: @1).
([-n] <name> <value>) | <name>=([-n] <име> <стойност>) | <име>
Set or read server configuration setting=Задава или извежда на екрата настройка на сървъра
Failed. Cannot modify secure settings. Edit the settings file manually.=Грешка! Настройките за сигурност не могат да бъдат променяни. Променете файла с настройки ръчно.
Failed. Use '/set -n <name> <value>' to create a new setting.=Грешка! Използвайте „/set -n <име> <стойност>“, за да създадете нова настройка.
@1 @= @2=@1 @= @2
<not set>=<не е зададено>
Invalid parameters (see /help set).=Неприемливи параметри (вижте /help set).
Finished emerging @1 blocks in @2ms.=Зареждането на @1 блока завърши за @2 мс.
emergeblocks update: @1/@2 blocks emerged (@3%)=обновяване на emergeblocks: @1/@2 блока заредени (@3%)
(here [<radius>]) | (<pos1> <pos2>)=(тук [<радиус>]) | (<коорд1> <коорд2>)
Load (or, if nonexistent, generate) map blocks contained in area pos1 to pos2 (<pos1> and <pos2> must be in parentheses)=Зарежда (или ако липсват, генерира) блокове от света в областта от коорд1 до коорд2 (<коорд1> и <коорд2> трябва да са в скоби)
Started emerge of area ranging from @1 to @2.=Започна зареждане на областта от @1 до @2.
Delete map blocks contained in area pos1 to pos2 (<pos1> and <pos2> must be in parentheses)=Премахва блокове от света в областта от коорд1 до коорд2 (<коорд1> и <коорд2> трябва да са в скоби)
Successfully cleared area ranging from @1 to @2.=Успешно изчистена област от @1 до @2.
Failed to clear one or more blocks in area.=Неуспешно изчистване на един или повече блока в областта.
Resets lighting in the area between pos1 and pos2 (<pos1> and <pos2> must be in parentheses)=Нулира осветлението в областта между коорд1 и коорд2 (<коорд1> и <коорд2> трябва да са в скоби)
Successfully reset light in the area ranging from @1 to @2.=Успешно нулирано осветление в област от @1 до @2.
Failed to load one or more blocks in area.=Неуспешно зареждане на един или повече блока в областта.
List mods installed on the server=Показва списък с модификациите, инсталирани на сървъра
No mods installed.=Няма инсталирани модификации.
Cannot give an empty item.=Не може да бъде даден празен предмет.
Cannot give an unknown item.=Не може да бъде даден неизвестен предмет.
Giving 'ignore' is not allowed.=Не е позволено да бъде даван „ignore“.
@1 is not a known player.=@1 не е известен играч.
@1 partially added to inventory.=@1 частично добавен в инвентара.
@1 could not be added to inventory.=@1 не може да бъде добавен в инвентара.
@1 added to inventory.=@1 добавен в инвентара.
@1 partially added to inventory of @2.=@1 частично добавен в инвентара на @2.
@1 could not be added to inventory of @2.=@1 не може да бъде добавен в инвентара на @2.
@1 added to inventory of @2.=@1 добавен в инвентара на @2.
<name> <ItemString> [<count> [<wear>]]=<име> <име-на-предмет> [<брой> [<износване>]]
Give item to player=Дава предмет на играч
Name and ItemString required.=Изисква се име и име-на-предмет.
<ItemString> [<count> [<wear>]]=<име-на-предмет> [<брой> [<износване>]]
Give item to yourself=Дава предмет на себе си
ItemString required.=Изисква се име-на-предмет.
<EntityName> [<X>,<Y>,<Z>]=<име-на-същество> [<X>,<Y>,<Z>]
Spawn entity at given (or your) position=Създава същество на дадена (или вашата) позиция
EntityName required.=Изисква се име-на-същество.
Unable to spawn entity, player is nil.=Неуспешно създаване на същество, играчът е null.
Cannot spawn an unknown entity.=Не може да бъде създадено неизвестно същество.
Invalid parameters (@1).=Неприемливи параметри (@1).
@1 spawned.=@1 е създаден.
@1 failed to spawn.=@1 не можа да бъде създаден.
Destroy item in hand=Унищожава предмета в ръката
Unable to pulverize, no player.=Неуспешно смачкване, няма играч.
Unable to pulverize, no item in hand.=Неуспешно смачкване, няма предмет в ръката.
An item was pulverized.=Предмет беше смачкан.
[<range>] [<seconds>] [<limit>]=[<обхват>] [<секунди>] [<ограничение>]
Check who last touched a node or a node near it within the time specified by <seconds>. Default: range @= 0, seconds @= 86400 @= 24h, limit @= 5. Set <seconds> to inf for no time limit=Проверява кой последно е докоснал възел или близък възел в рамките на времето, зададено от <секунди>. По подразбиране: обхват @= 0, секунди @= 86400 @= 24ч, ограничение @= 5. Задайте <секунди> на inf за без ограничение.
Rollback functions are disabled.=Функциите за отменяне на действия са изключени.
That limit is too high!=Ограничението е твърде голямо!
Checking @1 ...=Проверка @1…
Nobody has touched the specified location in @1 seconds.=Никой не е докосвал указаното място през последните @1 секунди.
@1 @2 @3 -> @4 @5 seconds ago.=@1 @2 @3 -> @4 преди @5 секунди.
Punch a node (range@=@1, seconds@=@2, limit@=@3).=Удар на възел (обхват@=@1, секунди@=@2, ограничение@=@3).
(<name> [<seconds>]) | (:<actor> [<seconds>])=(<име> [<секунди>]) | (:<променящ> [<секунди>])
Revert actions of a player. Default for <seconds> is 60. Set <seconds> to inf for no time limit=Отменя действията на играч. По подразбиране <секунди> е 60. Задайте <секунди> на inf за без ограничение.
Invalid parameters. See /help rollback and /help rollback_check.=Неприемливи параметри. Вижте /help rollback и /help rollback_check.
Reverting actions of player '@1' since @2 seconds.=Отменяне действията на играча „@1“ отпреди @2 секунди.
Reverting actions of @1 since @2 seconds.=Отменяне действията на @1 отпреди @2 секунди.
(log is too long to show)=(дневникът е твърде дълъг, за да бъде показан)
Reverting actions succeeded.=Действията са отменени.
Reverting actions FAILED.=Грешка при отменяне на действията.
Show server status=Показва състоянието на сървъра
This command was disabled by a mod or game.=Тази команда е изключена от модификация или игра.
[<0..23>:<0..59> | <0..24000>]=[<0..23>:<0..59> | <0..24000>]
Show or set time of day=Показва или задава часа на деня
Current time is @1:@2.=Текущото време е @1:@2.
You don't have permission to run this command (missing privilege: @1).=Нямате право да изпълните тази команда (липсващи права: @1).
Invalid time (must be between 0 and 24000).=Неправилно време (трябва да бъде между 0 и 24000).
Time of day changed.=Часът на деня е променен.
Invalid hour (must be between 0 and 23 inclusive).=Неверен час (трябва да бъде между 0 и 23 включително).
Invalid minute (must be between 0 and 59 inclusive).=Невярна минута (трябва да бъде между 0 и 59 включително).
Show day count since world creation=Показва броя дни от създаването на света
Current day is @1.=Текущият ден е @1.
[<delay_in_seconds> | -1] [-r] [<message>]=[<забавяне_в_секунди> | -1] [-r] [<съобщение>]
Shutdown server (-1 cancels a delayed shutdown, -r allows players to reconnect)=Изключва сървъра (-1 отменя забавено спиране, -r позволява на играчите повторно да се свързват)
Server shutting down (operator request).=Сървърът се изключва (по искане на оператор).
Ban the IP of a player or show the ban list=Забранява играч/IP или извежда списък със забранените
The ban list is empty.=Списъкът със забранени е празен.
Ban list: @1=Списък със забранени: @1
You cannot ban players in singleplayer!=Не можете да забраните играчи в режим един играч!
Player is not online.=Играчът не е на линия.
Failed to ban player.=Грешка при забраняване на играч.
Banned @1.=Играчът @1 е забранен.
<name> | <IP_address>=<име> | <IP_адрес>
Remove IP ban belonging to a player/IP=Премахва забрана по IP на играч/IP.
Failed to unban player/IP.=Грешка при премахване забраната на играч/IP.
Unbanned @1.=Премахната забрана на @1.
<name> [<reason>]=<име> [<причина>]
Kick a player=Изгонва играч
Failed to kick player @1.=Грешка при изгонване на играча @1.
Kicked @1.=Играчът @1 е изгонен.
[full | quick]=[пълно | бързо]
Clear all objects in world=Премахва всички обекти в света
Invalid usage, see /help clearobjects.=Неприемливи параметри. Вижте /help clearobjects.
Clearing all objects. This may take a long time. You may experience a timeout. (by @1)=Премахване на всички обекти. Може да отнеме време. Може и времето за връзка да изтече. (by @1)
Cleared all objects.=Премахнати са всички обекти.
<name> <message>=<име> <съобщение>
Send a direct message to a player=Изпраща лично съобщение на играч
Invalid usage, see /help msg.=Неприемливи параметри. Вижте /help msg.
The player @1 is not online.=Играчът @1 не е на линия.
DM from @1: @2=ЛС от @1: @2
DM sent to @1: @2=ЛС изпратено до @1: @2
Get the last login time of a player or yourself=Получава последното влизане на играч или себе си
@1's last login time was @2.=Последното влизане на @1 е @2.
@1's last login time is unknown.=Последното влизане на @1 е неизвестно.
Clear the inventory of yourself or another player=Изчиства инвентара на друг играч или вас
You don't have permission to clear another player's inventory (missing privilege: @1).=Нямате право да изчиствате инвентара на друг играч (липсващи права: @1).
@1 cleared your inventory.=@1 изчисти вашия инвентар.
Cleared @1's inventory.=Инвентарът на @1 е изчистен.
Player must be online to clear inventory!=Играчът трябва да е онлайн, за да изчистите инвентара му!
Players can't be killed, damage has been disabled.=Играчите не могат да бъдат убивани, щетите са изключени.
Player @1 is not online.=Играчът @1 не е на линия.
You are already dead.=Вече сте мъртви.
@1 is already dead.=@1 вече е мъртъв.
@1 has been killed.=@1 е убит.
Kill player or yourself=Убива играч или себе си
Invalid parameters (see /help @1).=Неприемливи параметри (вижте /help @1).
Too many arguments, try using just /help <command>=Твърде много аргументи, опитайте /help <команда>
Available commands: @1=Достъпни команди: @1
Use '/help <cmd>' to get more information, or '/help all' to list everything.=Използвайте „/help <cmd>“, за да получите повече информация, или „/help all“, за да видите списък с всички команди.
Available commands:=Достъпни команди:
Command not available: @1=Командата не е достъпна: @1
[all | privs | <cmd>] [-t]=[all | privs | <команда>] [-t]
Get help for commands or list privileges (-t: output in chat)=Получава помощ за команди или списък с права (-t: извежда в панела за разговори)
Available privileges:=Достъпни права:
You died=Умряхте
Respawn=Прераждане
Command=Команда
Parameters=Параметри
For more information, click on any entry in the list.=За повече информация щракнете върху елемент от списъка.
Double-click to copy the entry to the chat history.=Двоен клик за копиране на елемента в историята на разговори.
Command: @1 @2=Команда: @1 @2
Available commands: (see also: /help <cmd>)=Достъпни команди: (вижте /help <команда>)
Close=Затваряне
Privilege=Права
Description=Описание
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=Управлява инструмента за профилиране и данните от него. Може да изведе в панела за разговори (print), в дневника (dump) или във файл в света (save). Форматът може да бъде txt, csv, lua, json, json_pretty (структурите може да бъдат променени). Филтърът е шаблон на lua за ограничаване на изхода до съвпадащи имена на модификации.
Statistics written to action log.=Статистиката е записана в дневника.
Statistics were reset.=Статистиката е нулирана.
@1 joined the game.=@1 се присъедини.
@1 left the game.=@1 напусна играта.
@1 left the game (timed out).=@1 напусна играта (изтекло време).
(no description)=(няма описание)
Can interact with things and modify the world=Може да взаимодейства с неща и променя света
Can speak in chat=Може да пише съобщения
Can modify basic privileges (@1)=Може да променя основните права (@1)
Can modify privileges=Може да променя права
Can teleport self=Може да телепортира себе си
Can teleport other players=Може да телепортира играчи
Can set the time of day using /time=Може да задава часа през деня чрез /time
Can do server maintenance stuff=Може да извършва поддръжка на сървъра
Can bypass node protection in the world=Може да заобикаля защитата на възли в света
Can ban and unban players=Може да забранява и разрешава играчи
Can kick players=Може да изгонва играчи
Can use /give and /giveme=Може да използва /give и /giveme
Can use /setpassword and /clearpassword=Може да използва /setpassword и /clearpassword
Can use fly mode=Може да използва режим на летене
Can use fast mode=Може да използва режим на бързо придвижване
Can fly through solid nodes using noclip mode=Може да преминава през твърди възли в режим „без изрязване“
Can use the rollback functionality=Може да използва възможността за отменяне на действия
Can enable wireframe=Може да включва телени рамки
Unknown Item=Неизвестен предмет
Air=Въздух
Ignore=Пренебрегване
You can't place 'ignore' nodes!=Не можете да поставяте възли „пренебрегване“!
Values below show absolute/relative times spend per server step by the instrumented function.=Стойностите по-долу показват абсолютното/относителното време за всяка стъпка на сървъра от замерваната функция.
A total of @1 sample(s) were taken.=Взети са общи @1 проби.
The output is limited to '@1'.=Изходът е ограничен до „@1“.
Saving of profile failed: @1=Грешка при запазване на профила: @1
Profile saved to @1=Профилът е запазен в @1

View File

@@ -236,6 +236,7 @@ Air=Luft
Ignore=Ignorieren
You can't place 'ignore' nodes!=Sie können keine „ignore“-Blöcke platzieren!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<Filter>] | dump [<Filter>] | save [<Format> [<Filter>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=Den Profiler benutzen und mit Profiling-Daten arbeiten. Kann in den Chat (print), in das Action-Protokoll (dump) oder in eine Datei in der Welt (save) ausgeben. Das Format kann „txt“, „csv“, „lua“, „json“ oder „json_pretty“ sein (die Strukturen könnten sich in Zukunft ändern). Filter ist ein Lua-Pattern, das benutzt wird, um die Ausgabe auf passende Modnamen einzuschränken.
Statistics written to action log.=Statistiken zum Aktionsprotokoll geschrieben.
Statistics were reset.=Statistiken wurden zurückgesetzt.
Values below show absolute/relative times spend per server step by the instrumented function.=Die unten angegebenen Werte zeigen absolute/relative Zeitspannen, die je Server-Step von der instrumentierten Funktion in Anspruch genommen wurden.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Sendu rekte privatan mesaĝon al ludanto
Invalid usage, see /help msg.=Nevalida uzo, vidu /help msg.
The player @1 is not online.=La ludanto @1 ne ĉeretas.
DM from @1: @2=Privata mesaĝo de @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Vidi la lastan salutotempon de ludanto, aŭ vi mem
@1's last login time was @2.=Lasta salutotempo de @1 estas @2.
@1's last login time is unknown.=Lasta salutotempo de @1 estas nesciata.
@@ -235,6 +236,7 @@ Air=Aero
Ignore=Malatenti
You can't place 'ignore' nodes!=Vi ne povas meti «malatentajn» monderojn!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtrilo>] | dump [<filtrilo>] | save [<formo> [<filtrilo>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Analizoj skribitaj al agoprotokolo.
Statistics were reset.=Analizoj forviŝitaj.
Values below show absolute/relative times spend per server step by the instrumented function.=Valoroj subaj montras la malrelativan/relativan tempon pasigitan de la servilo je ĉiu paŝo de la funkcio.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Envoyer un message privé à un joueur.
Invalid usage, see /help msg.=Usage invalide, voir /help msg.
The player @1 is not online.=Le joueur @1 n'est pas en ligne.
DM from @1: @2=Message privé de @1 : @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Obtenir l'horodatage de la dernière connexion d'un joueur ou de vous-même.
@1's last login time was @2.=@1 s'est connecté pour la dernière fois au @2.
@1's last login time is unknown.=L'horodatage de la dernière connexion de @1 est inconnu.
@@ -235,6 +236,7 @@ Air=Air
Ignore=Ignorer
You can't place 'ignore' nodes!=Vous ne pouvez pas placé de nœuds 'ignorés' !
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtre>] | dump [<filtre>] | save [<format> [<filtre>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Les statistiques sont écrites dans les journaux d'actions.
Statistics were reset.=Les statistiques ont été réinitialisées.
Values below show absolute/relative times spend per server step by the instrumented function.=Les valeurs inférieures affichent les temps absolu et relatif dépensés par étape du serveur par la fonction utilisée.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Kirim pesan langsung kepada pemain
Invalid usage, see /help msg.=Penggunaan tidak sah. Lihat /help msg.
The player @1 is not online.=Pemain @1 tidak daring.
DM from @1: @2=Pesan langsung dari @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Ambil waktu masuk terakhir pemain atau diri Anda
@1's last login time was @2.=Waktu masuk terakhir @1 adalah @2.
@1's last login time is unknown.=Waktu masuk terakhir @1 tidak diketahui.
@@ -235,6 +236,7 @@ Air=Udara
Ignore=Ignore
You can't place 'ignore' nodes!=Anda tidak dapat menaruh nodus 'ignore'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Statistik ditulis ke log action.
Statistics were reset.=Statistik diatur ulang.
Values below show absolute/relative times spend per server step by the instrumented function.=Nilai berikut menampilkan waktu mutlak/relatif yang dihabiskan tiap langkah server oleh fungsi instrumen.

View File

@@ -193,6 +193,7 @@ Send a direct message to a player=Invia un messaggio privato a unə giocatore
Invalid usage, see /help msg.=Uso incorretto, vedi /help msg
The player @1 is not online.=Lə giocatore @1 non è connessə.
DM from @1: @2=Messaggio privato da @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Ritorna l'ultimo accesso di unə giocatore o di te stessǝ
@1's last login time was @2.=L'ultimo accesso di @1 è avvenuto il @2.
@1's last login time is unknown.=L'ultimo accesso di @1 è ignoto.
@@ -236,6 +237,7 @@ Air=Aria
Ignore=Ignora
You can't place 'ignore' nodes!=Non puoi piazzare nodi 'ignore'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtro>] | dump [<filtro>] | save [<formato> [<filtro>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Statistiche scritte nel registro delle azioni.
Statistics were reset.=Le statistiche sono state resettate.
Values below show absolute/relative times spend per server step by the instrumented function.=I valori sottostanti mostrano i tempi assoluti/relativi impiegati su ogni singolo step dalla funzione analizzata

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Menghantar mesej terus kepada seorang pemain
Invalid usage, see /help msg.=Kegunaan tidak sah, sila lihat /help msg.
The player @1 is not online.=Pemain @1 tidak berada dalam talian.
DM from @1: @2=DM daripada @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Dapatkan waktu log masuk terakhir bagi seorang pemain atau diri sendiri
@1's last login time was @2.=Waktu log masuk terakhir @1 ialah pada @2.
@1's last login time is unknown.=Waktu log masuk terakhir @1 tidak diketahui.
@@ -235,6 +236,7 @@ Air=Udara
Ignore=Abai
You can't place 'ignore' nodes!=Anda tidak boleh meletakkan nod 'abai'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<tapisan>] | dump [<tapisan>] | save [<format> [<tapisan>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Statistik telah ditulis ke log perlakuan.
Statistics were reset.=Statistik telah ditetapkan semula.
Values below show absolute/relative times spend per server step by the instrumented function.=Nilai di bawah menunjukkan masa mutlak/relatif yang digunakan oleh fungsi yang dipasangkan pada setiap langkah pelayan

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Enviar uma mensagem direta a um jogador
Invalid usage, see /help msg.=Uso inválido, veja /help msg.
The player @1 is not online.=O jogador @1 não está online.
DM from @1: @2=DM de @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Pegue o último horário de login de um jogador ou de você mesmo
@1's last login time was @2.=O último login de @1 foi às @2.
@1's last login time is unknown.=O último login de @1 é desconhecido.
@@ -235,6 +236,7 @@ Air=Ar
Ignore=Ignorar
You can't place 'ignore' nodes!=Você não pode colocar nós 'ignorar'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filtro>] | dump [<filtro>] | save [<formato> [<filtro>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Estatísticas salvas no log de ações.
Statistics were reset.=As estatísticas foram redefinidas.
Values below show absolute/relative times spend per server step by the instrumented function.=Os valores abaixo mostram os tempos absolutos/relativos gastos por etapa do servidor pela função instrumentada.

View File

@@ -192,6 +192,7 @@ Send a direct message to a player=Отправить прямое сообщен
Invalid usage, see /help msg.=Недопустимое использование, см. /help msg.
The player @1 is not online.=Игрок @1 не находится в игре.
DM from @1: @2=DM от @1: @2
DM sent to @1: @2=
Get the last login time of a player or yourself=Вывести время последнего входа игрока или своё
@1's last login time was @2.=Время последнего входа @1: @2.
@1's last login time is unknown.=Время последнего входа @1 неизвестно.
@@ -235,6 +236,7 @@ Air=Воздух
Ignore=Игнорируемая встроенная нода (":ignore")
You can't place 'ignore' nodes!=Вы не можете установить ноду 'ignore'!
print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset=print [<filter>] | dump [<filter>] | save [<format> [<filter>]] | reset
Handle the profiler and profiling data. Can output to chat (print), action log (dump), or file in world (save). Format can be one of txt, csv, lua, json, json_pretty (structures may be subject to change). Filter is a lua pattern used to limit output to matching mod names.=
Statistics written to action log.=Статистика записывается в журнал действий.
Statistics were reset.=Статистика была сброшена.
Values below show absolute/relative times spend per server step by the instrumented function.=Приведенные ниже значения показывают абсолютное/относительное время, затрачиваемое функцией на каждый шаг сервера.

View File

@@ -12,7 +12,7 @@
"v-rob <robinsonvincent89@gmail.com>",
"Desour/DS",
"srifqi",
"Gregor Parzefall (grorp)",
"grorp",
"Lars Müller (luatic)",
"cx384",
"sfence",
@@ -47,14 +47,11 @@
],
"#": "For updating active/previous contributors, see the script in ./util/gather_git_credits.py",
"contributors": [
"Erich Schubert",
"Lucas OH",
"Xeno333",
"Miguel P.L",
"siliconsniffer",
"JosiahWI"
"Xeno333"
],
"previous_contributors": [
"Wuzzy (Wuzzy2)",
"Ælla Chiana Moskopp (erle) <erle@dieweltistgarnichtso.net> [Logo]",
"numzero",
"red-001 <red-001@outlook.ie>",
@@ -66,6 +63,7 @@
"Jean-Patrick Guerrero (kilbith)",
"MoNTE48",
"Constantin Wenger (SpeedProg)",
"JosiahWI",
"Ciaran Gultnieks (CiaranG)",
"ROllerozxa",
"Paul Ouellette (pauloue)",

View File

@@ -5,6 +5,7 @@
local format, ipairs, type = string.format, ipairs, type
local core, get_current_modname = core, core.get_current_modname
local profiler, sampler = ...
local debug_getinfo = debug.getinfo
local instrument_builtin = core.settings:get_bool("instrument.builtin", false)
@@ -67,7 +68,7 @@ local worldmods_path = regex_escape(core.get_worldpath())
local user_path = regex_escape(core.get_user_path())
local builtin_path = regex_escape(core.get_builtin_path())
local function generate_source_location(def)
local info = debug.getinfo(def.func)
local info = debug_getinfo(def.func)
local modpath = regex_escape(core.get_modpath(def.mod) or "")
local source = info.source
if modpath ~= "" then

View File

@@ -77,30 +77,28 @@ some shader settings cannot be used on OpenGL ES.
Changing the graphic driver setting to OpenGL will not work.
## Building Requirements
In order to build, your PC has to be set up to build Luanti in the usual
manner (see the regular Luanti documentation for how to get this done).
In addition to what is required for Luanti in general, you will need the
following software packages. The version number in parenthesis denotes the
version that was tested at the time this README was drafted; newer/older
versions may or may not work.
* Android SDK 29
* Android NDK r21
* Android Studio 3 [optional]
In order to build, you will need the following development tools:
* Java JDK
* Android SDK
* `gettext` command line tools
* Android Studio [optional]
Additionally, you'll need to have an Internet connection available on the
build system, as the Android build will download some source packages.
## Build
The new build system Luanti Android is fully functional and is designed to
speed up and simplify the work, as well as adding the possibility of
cross-platform build.
You can use `./gradlew assemblerelease` or `./gradlew assembledebug` from the
You can use `./gradlew assembleRelease` or `./gradlew assembleDebug` from the
command line or use Android Studio and click the build button.
When using gradlew, the newest NDK will be downloaded and installed
automatically. Or you can create a `local.properties` file and specify
`sdk.dir` and `ndk.dir` yourself.
automatically. You have to create a `local.properties` file and specify
`sdk.dir` yourself if you want to use an existing installation.
* In order to make a release build you'll have to have a keystore setup to sign
the resulting apk package. How this is done is not part of this README. There

View File

@@ -400,7 +400,7 @@ IBoneSceneNode *CAnimatedMeshSceneNode::getJointNode(const c8 *jointName)
return 0;
}
return PerJoint.SceneNodes[*number];
return PerJoint.SceneNodes[*number].get();
}
//! Returns a pointer to a child node, which has the same transformation as
@@ -419,7 +419,7 @@ IBoneSceneNode *CAnimatedMeshSceneNode::getJointNode(u32 jointID)
return 0;
}
return PerJoint.SceneNodes[jointID];
return PerJoint.SceneNodes[jointID].get();
}
//! Gets joint count.
@@ -441,8 +441,8 @@ bool CAnimatedMeshSceneNode::removeChild(ISceneNode *child)
if (ISceneNode::removeChild(child)) {
if (JointsUsed) { // stop weird bugs caused while changing parents as the joints are being created
for (u32 i = 0; i < PerJoint.SceneNodes.size(); ++i) {
if (PerJoint.SceneNodes[i] == child) {
PerJoint.SceneNodes[i] = 0; // remove link to child
if (PerJoint.SceneNodes[i].get() == child) {
PerJoint.SceneNodes[i].reset(); // remove link to child
break;
}
}
@@ -551,13 +551,13 @@ void CAnimatedMeshSceneNode::addJoints()
const auto *joint = joints[i];
ISceneNode *parent = this;
if (joint->ParentJointID)
parent = PerJoint.SceneNodes.at(*joint->ParentJointID); // exists because of topo. order
parent = PerJoint.SceneNodes.at(*joint->ParentJointID).get(); // exists because of topo. order
assert(parent);
const auto *matrix = std::get_if<core::matrix4>(&joint->transform);
PerJoint.SceneNodes.push_back(new CBoneSceneNode(
PerJoint.SceneNodes.push_back(irr_ptr<CBoneSceneNode>(new CBoneSceneNode(
parent, SceneManager, 0, i, joint->Name,
matrix ? core::Transform{} : std::get<core::Transform>(joint->transform),
matrix ? *matrix : std::optional<core::matrix4>{}));
matrix ? *matrix : std::optional<core::matrix4>{})));
}
}
@@ -610,7 +610,7 @@ void CAnimatedMeshSceneNode::checkJoints()
if (!JointsUsed) {
for (u32 i = 0; i < PerJoint.SceneNodes.size(); ++i)
removeChild(PerJoint.SceneNodes[i]);
removeChild(PerJoint.SceneNodes[i].get());
addJoints();
JointsUsed = true;

View File

@@ -10,6 +10,7 @@
#include "SkinnedMesh.h"
#include "Transform.h"
#include "irr_ptr.h"
#include "matrix4.h"
namespace scene
@@ -172,7 +173,7 @@ class CAnimatedMeshSceneNode : public IAnimatedMeshSceneNode
std::function<void(f32)> OnAnimateCallback;
struct PerJointData {
std::vector<CBoneSceneNode *> SceneNodes;
std::vector<irr_ptr<CBoneSceneNode>> SceneNodes;
std::vector<core::matrix4> GlobalMatrices;
std::vector<std::optional<core::Transform>> PreTransSaves;
void setN(u16 n) {

View File

@@ -17,11 +17,6 @@
#endif
#include <SDL.h>
// DirectFB is removed in SDL3, thou distribution as Alpine currently ships SDL2
// with enabled DirectFB, but requiring another fix at a top of SDL2.
// We don't need DirectFB in Irrlicht/Minetest, so simply disable it here to prevent issues.
#undef SDL_VIDEO_DRIVER_DIRECTFB
#include <SDL_syswm.h>
#include <memory>
#include <unordered_map>

View File

@@ -8,6 +8,7 @@
#include "CIrrDeviceStub.h"
#include "IrrlichtDevice.h"
#include "ITexture.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

View File

@@ -174,6 +174,6 @@
<update_contact>celeron55@gmail.com</update_contact>
<releases>
<release date="2025-08-01" version="5.13.0"/>
<release date="2025-10-05" version="5.14.0"/>
</releases>
</component>

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: German (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-09-13 08:01+0000\n"
"Last-Translator: Lars Müller <appgurulars@gmx.de>\n"
"PO-Revision-Date: 2025-09-24 12:28+0000\n"
"Last-Translator: Wuzzy <Wuzzy@disroot.org>\n"
"Language-Team: German <https://hosted.weblate.org/projects/minetest/minetest/"
"de/>\n"
"Language: de\n"
@@ -1869,19 +1869,16 @@ msgid "Down Arrow"
msgstr "Pfeil runter"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "Menü-Taste"
msgstr "Ende-Taste"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Entf-Taste"
msgstr "Hilfe-Taste"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Zoom-Taste"
msgstr "Pos1-Taste"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1892,9 +1889,8 @@ msgid "Left Arrow"
msgstr "Pfeil links"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Strg links"
msgstr "Linksklick"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1919,15 +1915,15 @@ msgstr "Menü-Taste"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Mittelklick"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "Maus X1"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "Maus X2"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -2024,9 +2020,8 @@ msgid "Right Arrow"
msgstr "Pfeil rechts"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Strg rechts"
msgstr "Rechtsklick"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2050,9 +2045,8 @@ msgid "Scroll Lock"
msgstr "Rollen"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Entf-Taste"
msgstr "Select-Taste"
#: src/client/keycode.cpp
msgid "Shift Key"
@@ -2063,9 +2057,8 @@ msgid "Space"
msgstr "Leertaste"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Untbr-Taste"
msgstr "Tab-Taste"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2508,7 +2501,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "3-D-Rauschen, welches die Anzahl der Verliese je Mapchunk festlegt."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2522,8 +2514,6 @@ msgstr ""
"Aktuell verfügbar:\n"
"- none: Keine 3-D-Ausgabe.\n"
"- anaglyph: Türkises / magenta 3-D.\n"
"- interlaced: Bildschirmunterstützung für gerade / ungerade "
"zeilenbasierte Polarisation.\n"
"- topbottom: Bildschirm horizontal teilen.\n"
"- sidebyside: Bildschirm vertikal teilen.\n"
"- crossview: Schieläugiges 3-D"
@@ -2902,7 +2892,7 @@ msgstr "Kameraglättung im Filmmodus"
#: src/settings_translation_file.cpp
msgid "Capture Tracy zones"
msgstr ""
msgstr "Tracy-Zonen aufnehmen"
#: src/settings_translation_file.cpp
msgid ""
@@ -2910,6 +2900,9 @@ msgid ""
"You need to build with Tracy to use this, see doc/developing/profiling.md\n"
"for details."
msgstr ""
"Tracy-Zonen mit der Instrumentierung des Profilers aufnehmen.\n"
"Sie benötigen einen Build mit Tracy, um dies verwenden zu können,\n"
"siehe doc/developing/profiling.md für Details."
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -3477,7 +3470,7 @@ msgstr "Entwickleroptionen"
#: src/settings_translation_file.cpp
msgid "Disable if you only want to instrument with Tracy."
msgstr ""
msgstr "Deaktivieren, falls Sie mit Tracy nur instrumentieren wollen."
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -5489,9 +5482,8 @@ msgid "Maximum users"
msgstr "Maximale Benutzerzahl"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Measure time samples"
msgstr "Wüstentempel"
msgstr "Zeitstempel messen"
#: src/settings_translation_file.cpp
msgid "Message of the day"

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Italian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-05-31 06:01+0000\n"
"Last-Translator: Zughy <zhu.gamedev@tutanota.com>\n"
"PO-Revision-Date: 2025-09-25 13:02+0000\n"
"Last-Translator: Ludus <alessio.desantis28@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/minetest/"
"minetest/it/>\n"
"Language: it\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.12-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -63,9 +63,8 @@ msgid "Command not available: "
msgstr "Comando non disponibile: "
#: builtin/common/chatcommands.lua
#, fuzzy
msgid "Get help for commands (-t: output in chat)"
msgstr "Ottieni aiuto per i comandi"
msgstr "Ottieni aiuto per i comandi (-t: output nella chat)"
#: builtin/common/chatcommands.lua
msgid ""
@@ -204,9 +203,8 @@ msgid "(The game will need to enable bloom as well)"
msgstr "(Anche il gioco dovrà abilitare le ombre)"
#: builtin/common/settings/dlg_settings.lua
#, fuzzy
msgid "(The game will need to enable volumetric lighting as well)"
msgstr "(Anche il gioco dovrà abilitare le ombre)"
msgstr "(Anche il gioco dovrà abilitare l'illuminazione volumetrica)"
#: builtin/common/settings/dlg_settings.lua
msgid "(Use system language)"
@@ -303,9 +301,8 @@ msgid "Tap with crosshair"
msgstr "Tocco con mirino"
#: builtin/common/settings/dlg_settings.lua
#, fuzzy
msgid "Touchscreen layout"
msgstr "Touch screen"
msgstr "Layout del touch screen"
#: builtin/common/settings/settingtypes.lua
msgid "Client Mods"
@@ -413,13 +410,12 @@ msgid "Failed to download $1"
msgstr "Impossibile scaricare $1"
#: builtin/mainmenu/content/contentdb.lua
#, fuzzy
msgid ""
"Failed to extract \"$1\" (insufficient disk space, unsupported file type or "
"broken archive)"
msgstr ""
"Impossibile estrarre \"$1\" (tipo di file non supportato o archivio "
"danneggiato)"
"Impossibile estrarre \"$1\" (spazio del disco non sufficiente, tipo di file "
"non supportato o archivio danneggiato)"
#: builtin/mainmenu/content/dlg_contentdb.lua
msgid ""
@@ -438,9 +434,8 @@ msgid "All"
msgstr "Tutto"
#: builtin/mainmenu/content/dlg_contentdb.lua
#, fuzzy
msgid "ContentDB is not available when Luanti was compiled without cURL"
msgstr "ContentDB non è disponibile quando Minetest viene compilato senza cURL"
msgstr "ContentDB non è disponibile quando Luanti viene compilato senza cURL"
#: builtin/mainmenu/content/dlg_contentdb.lua
msgid "Downloading..."
@@ -583,14 +578,12 @@ msgid "Forum Topic"
msgstr "Discussione sul forum"
#: builtin/mainmenu/content/dlg_package.lua
#, fuzzy
msgid "Information"
msgstr "Informazioni:"
msgstr "Informazioni"
#: builtin/mainmenu/content/dlg_package.lua
#, fuzzy
msgid "Install [$1]"
msgstr "Installa $1"
msgstr "Installa [$1]"
#: builtin/mainmenu/content/dlg_package.lua
msgid "Issue Tracker"
@@ -793,6 +786,8 @@ msgid ""
"Different dungeon variant generated in desert biomes (only if dungeons "
"enabled)"
msgstr ""
"Variante diversa di dungeon generata nei biomi desertici (solo se i dungeon "
"sono abilitati)"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Dungeons"
@@ -1013,14 +1008,13 @@ msgid "Dismiss"
msgstr "Chiudi"
#: builtin/mainmenu/dlg_reinstall_mtg.lua
#, fuzzy
msgid ""
"For a long time, Luanti shipped with a default game called \"Minetest "
"Game\". Since version 5.8.0, Luanti ships without a default game."
msgstr ""
"Per molto tempo, il motore Minetest veniva fornito con un gioco predefinito "
"chiamato \"Minetest Game\". A partire dalla versione 5.8.0, Minetest viene "
"fornito senza."
"Per molto tempo, Luanti veniva fornito con un gioco predefinito chiamato "
"\"Minetest Game\". A partire dalla versione 5.8.0, Luanti viene fornito "
"senza."
#: builtin/mainmenu/dlg_reinstall_mtg.lua
msgid ""
@@ -1279,9 +1273,8 @@ msgid "You need to install a game before you can create a world."
msgstr "Devi installare un gioco prima di poter creare un mondo."
#: builtin/mainmenu/tab_online.lua
#, fuzzy
msgid "Add favorite"
msgstr "Rimuovi preferito"
msgstr "Aggiungi preferito"
#: builtin/mainmenu/tab_online.lua
msgid "Address"
@@ -1322,9 +1315,8 @@ msgid "Number of mods: $1"
msgstr "Numero di moduli: $1"
#: builtin/mainmenu/tab_online.lua
#, fuzzy
msgid "Open server website"
msgstr "Passo dedicato del server"
msgstr "Apri il sito web del server"
#: builtin/mainmenu/tab_online.lua
msgid "Ping"
@@ -1381,7 +1373,7 @@ msgstr "Fatto!"
#: src/client/client.cpp
#, c-format
msgid "Failed to save screenshot to \"%s\""
msgstr ""
msgstr "Impossibile salvare lo screenshot in \"%s\""
#: src/client/client.cpp
msgid "Initializing nodes"
@@ -1400,9 +1392,9 @@ msgid "Rebuilding shaders..."
msgstr "Ricostruendo le shaders..."
#: src/client/client.cpp
#, fuzzy, c-format
#, c-format
msgid "Saved screenshot to \"%s\""
msgstr "Screenshot"
msgstr "Screenshot salvato in \"%s\""
#: src/client/clientlauncher.cpp
msgid "Could not find or load game: "
@@ -1480,7 +1472,7 @@ msgstr "I limiti del blocco sono mostrati per i blocchi vicini"
#: src/client/game.cpp
msgid "Bounding boxes shown"
msgstr ""
msgstr "Hitbox visualizzate"
#: src/client/game.cpp
msgid "Camera update disabled"
@@ -1671,7 +1663,7 @@ msgstr "Impossibile ascoltare su %s perché IPv6 è disabilitato"
#: src/client/game.cpp
#, fuzzy
msgid "Unlimited viewing range disabled"
msgstr "Raggio visivo illimitato abilitato"
msgstr "Raggio visivo illimitato disabilitato"
#: src/client/game.cpp
#, fuzzy
@@ -1701,9 +1693,9 @@ msgid "Viewing range changed to %d"
msgstr "Raggio visivo cambiato a %d"
#: src/client/game.cpp
#, fuzzy, c-format
#, c-format
msgid "Viewing range changed to %d (the maximum)"
msgstr "Raggio visivo cambiato a %d"
msgstr "Raggio visivo cambiato a %d (il massimo)"
#: src/client/game.cpp
#, c-format
@@ -1725,7 +1717,7 @@ msgstr "Volume cambiato a %d%%"
#: src/client/game.cpp
msgid "Wireframe not supported by video driver"
msgstr ""
msgstr "Wireframe non supportato dal driver video"
#: src/client/game.cpp
msgid "Wireframe shown"
@@ -1903,12 +1895,12 @@ msgstr "Menu"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Rimuovi"
msgstr "Aiuto"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Ingrandimento"
msgstr "Home"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1920,9 +1912,8 @@ msgid "Left Arrow"
msgstr "Control Sinistro"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Control Sinistro"
msgstr "Click Sinistro"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1948,7 +1939,7 @@ msgstr "Menu"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Click Centrale"
#: src/client/keycode.cpp
msgid "Mouse X1"
@@ -2058,9 +2049,8 @@ msgid "Right Arrow"
msgstr "Ctrl destro"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Ctrl destro"
msgstr "Click destro"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2086,7 +2076,7 @@ msgstr "Scroll Lock"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Rimuovi"
msgstr "Seleziona Tasto"
#: src/client/keycode.cpp
#, fuzzy
@@ -2098,9 +2088,8 @@ msgid "Space"
msgstr "Spazio"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Tasto furtivo"
msgstr "Tab"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2125,9 +2114,9 @@ msgid "Minimap in texture mode"
msgstr "Minimappa in modalità texture"
#: src/client/shader.cpp
#, fuzzy, c-format
#, c-format
msgid "Failed to compile the \"%s\" shader."
msgstr "Impossibile aprire la pagina web"
msgstr "Compilazione dello shader \"%s\" non riuscita."
#: src/client/shader.cpp
#, fuzzy
@@ -2161,7 +2150,7 @@ msgstr "Alcuni moduli hanno dipendenze non soddisfatte:"
#: src/gui/guiButtonKey.h
#, fuzzy
msgid "Press Button"
msgstr "Pulsante Sinistro"
msgstr "Premi un Tasto"
#: src/gui/guiChatConsole.cpp
msgid "Failed to open webpage"
@@ -2216,7 +2205,7 @@ msgstr "Volume suono: %d%%"
#: src/gui/touchscreeneditor.cpp
#, fuzzy
msgid "Add button"
msgstr "Pulsante Centrale"
msgstr "Inserisci pulsante"
#: src/gui/touchscreeneditor.cpp
#, fuzzy
@@ -2234,6 +2223,7 @@ msgstr "Ripristina"
#: src/gui/touchscreeneditor.cpp
msgid "Start dragging a button to add. Tap outside to cancel."
msgstr ""
"Inizia a trascinare un pulsante per aggiungerlo. Tocca fuori per annullare."
#: src/gui/touchscreeneditor.cpp
msgid "Tap a button to select it. Drag a button to move it."
@@ -2337,9 +2327,8 @@ msgid "Internal server error"
msgstr "Errore interno del server"
#: src/network/clientpackethandler.cpp
#, fuzzy
msgid "Invalid password"
msgstr "Vecchia password"
msgstr "Password non valida"
#. ~ DO NOT TRANSLATE THIS LITERALLY!
#. This is a special string which needs to contain the translation's
@@ -2365,9 +2354,8 @@ msgid "Player name contains disallowed characters"
msgstr "Il nome contiene caratteri non permessi"
#: src/network/clientpackethandler.cpp
#, fuzzy
msgid "Player name not allowed"
msgstr "Nome del giocatore troppo lungo."
msgstr "Nome del giocatore non permesso"
#: src/network/clientpackethandler.cpp
#, fuzzy
@@ -2410,7 +2398,7 @@ msgstr ""
#: src/server.cpp
#, fuzzy, c-format
msgid "%s while shutting down: "
msgstr "Uscita dal gioco..."
msgstr "%s uscendo dal gioco... "
#: src/settings_translation_file.cpp
msgid ""
@@ -2656,6 +2644,9 @@ msgid ""
"All mesh buffers with less than this number of vertices will be merged\n"
"during map rendering. This improves rendering performance."
msgstr ""
"Tutti i buffer mesh con meno di questo numero di vertici saranno uniti\n"
" durante il rendering della mappa. Questo migliora le prestazioni di "
"rendering."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2718,14 +2709,12 @@ msgid "Announce to this serverlist."
msgstr "Annuncia a questo elenco di server."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Anti-aliasing scale"
msgstr "Anti-Scalettatura:"
msgstr "Scala di anti-aliasing"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Antialiasing method"
msgstr "Anti-Scalettatura:"
msgstr "Metodo di antialiasing"
#: src/settings_translation_file.cpp
msgid "Anticheat flags"
@@ -3049,9 +3038,8 @@ msgid "Client"
msgstr "Cliente"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Client Debugging"
msgstr "Debugging"
msgstr "Debug del Client"
#: src/settings_translation_file.cpp
msgid "Client Mesh Chunksize"
@@ -3095,7 +3083,7 @@ msgstr "Nuvole nel menu"
#: src/settings_translation_file.cpp
msgid "Color depth for post-processing texture"
msgstr ""
msgstr "Profondità colore per texture post-processate"
#: src/settings_translation_file.cpp
msgid "Colored fog"
@@ -3308,6 +3296,11 @@ msgid ""
"Reducing this can improve performance, but some effects (e.g. debanding)\n"
"require more than 8 bits to work."
msgstr ""
"Determina la profondità colore della texture utilizzata nella pipeline di "
"post-processing.\n"
"Ridurre questo valore può migliorare le prestazioni, ma alcuni effetti (ad "
"esempio il debanding)\n"
"richiedono più di 8 bit per funzionare correttamente."
#: src/settings_translation_file.cpp
msgid "Decrease view range"
@@ -3542,6 +3535,11 @@ msgid ""
"situations\n"
"where transparency sorting would be very slow otherwise."
msgstr ""
"Disegna triangoli trasparenti ordinati e raggruppati per i rispettivi buffer "
"mesh.\n"
"Questo interrompe lordinamento della trasparenza tra i buffer mesh, ma "
"evita situazioni\n"
"in cui lordinamento della trasparenza sarebbe altrimenti molto lento."
#: src/settings_translation_file.cpp
msgid "Drop item"
@@ -3583,7 +3581,7 @@ msgstr "Attiva Debug per il Bagliore"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Enable Debanding"
msgstr "Abilita il Ferimento"
msgstr "Abilita il Sistema di Danno"
#: src/settings_translation_file.cpp
msgid ""
@@ -3623,9 +3621,8 @@ msgstr ""
"filtro PCF."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Enable Post Processing"
msgstr "Post-elaborazione"
msgstr "Abilita la Post-elaborazione"
#: src/settings_translation_file.cpp
msgid "Enable Raytraced Culling"
@@ -3718,6 +3715,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable updates available indicator on content tab"
msgstr ""
"Abilita lindicatore di aggiornamenti disponibili nella finestra contenuti"
#: src/settings_translation_file.cpp
msgid ""
@@ -3760,16 +3758,16 @@ msgstr "Attiva l'animazione degli oggetti dell'inventario."
#: src/settings_translation_file.cpp
msgid "Enables debug and error-checking in the OpenGL driver."
msgstr ""
msgstr "Abilita il debug e il controllo degli errori nel driver OpenGL."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Enables smooth scrolling."
msgstr "Post-elaborazione"
msgstr "Abilita lo scorrimento fluido."
#: src/settings_translation_file.cpp
msgid "Enables the post processing pipeline."
msgstr ""
msgstr "Abilita la pipeline di post-processing."
#: src/settings_translation_file.cpp
msgid ""
@@ -3778,6 +3776,11 @@ msgid ""
"\"auto\" means that the touchscreen controls will be enabled and disabled\n"
"automatically depending on the last used input method."
msgstr ""
"Abilita i controlli touchscreen, permettendoti di giocare usando un "
"touchscreen.\n"
"\"auto\" significa che i controlli touchscreen saranno abilitati o "
"disabilitati\n"
"automaticamente in base allultimo metodo di input utilizzato."
#: src/settings_translation_file.cpp
msgid ""
@@ -4589,8 +4592,8 @@ msgid ""
"stand.\n"
"This is helpful when working with nodeboxes in small areas."
msgstr ""
"Se abilitata, puoi mettere i blocchi nel punto (piedi + livello oculare) in "
"cui sei.\n"
"Se abilitata, puoi mettere i blocchi nel punto (piedi + altezza occhi) in "
"cui ti trovi.\n"
"Questo è utile quando si lavora con nodebox in aree piccole."
#: src/settings_translation_file.cpp
@@ -4701,9 +4704,8 @@ msgid "Instrument the methods of entities on registration."
msgstr "Predisporre i metodi delle entità alla registrazione."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Interaction style"
msgstr "Iterazioni"
msgstr "Stile di interazione"
#: src/settings_translation_file.cpp
msgid "Interval of saving important changes in the world, stated in seconds."
@@ -4857,6 +4859,8 @@ msgid ""
"Key for digging, punching or using something.\n"
"(Note: The actual meaning might vary on a per-game basis.)"
msgstr ""
"Tasto per scavare, colpire o usare qualcosa.\n"
"(Nota: il significato effettivo può variare a seconda del gioco.)"
#: src/settings_translation_file.cpp
msgid "Key for incrementing the selected value in Quicktune."
@@ -4880,22 +4884,27 @@ msgid ""
"Key for placing an item/block or for using something.\n"
"(Note: The actual meaning might vary on a per-game basis.)"
msgstr ""
"Tasto per posizionare un oggetto/blocco o per usare qualcosa.\n"
"(Nota: il significato effettivo può variare a seconda del gioco.)"
#: src/settings_translation_file.cpp
msgid "Key for switching to the next entry in Quicktune."
msgstr ""
msgstr "Tasto per passare alla voce successiva in Quicktune."
#: src/settings_translation_file.cpp
msgid "Key for switching to the previous entry in Quicktune."
msgstr ""
msgstr "Tasto per passare alla voce precedente in Quicktune."
#: src/settings_translation_file.cpp
msgid "Key for toggling the camera update. Only usable with 'debug' privilege."
msgstr ""
"Tasto per attivare/disattivare laggiornamento della telecamera. "
"Utilizzabile solo con il privilegio 'debug'."
#: src/settings_translation_file.cpp
msgid "Key for toggling the display of mapblock boundaries."
msgstr ""
"Tasto per attivare/disattivare la visualizzazione dei confini dei mapblock."
#: src/settings_translation_file.cpp
msgid "Key for toggling the display of the profiler. Used for development."
@@ -5097,9 +5106,8 @@ msgid "Liquid queue purge time"
msgstr "Tempo di svuotamento della coda del liquido"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Liquid reflections"
msgstr "Fluidità del liquido"
msgstr "Riflessi sui liquidi"
#: src/settings_translation_file.cpp
msgid "Liquid sinking"
@@ -5441,6 +5449,10 @@ msgid ""
"won't be deleted, depending on the current view range.\n"
"Set to -1 for no limit."
msgstr ""
"Numero massimo di mapblock che il client può mantenere in memoria.\n"
"Nota che esiste un numero minimo dinamico interno di blocchi che\n"
"non verranno eliminati, in base all'attuale raggio di visualizzazione.\n"
"Impostare a -1 per nessun limite."
#: src/settings_translation_file.cpp
msgid ""
@@ -5449,6 +5461,10 @@ msgid ""
"You generally don't need to change this, however busy servers may benefit "
"from a higher number."
msgstr ""
"Numero massimo di pacchetti inviati per ogni ciclo di invio nel codice di "
"rete a basso livello.\n"
"Generalmente non è necessario modificarlo, ma i server molto occupati "
"potrebbero trarre vantaggio da un valore più alto."
#: src/settings_translation_file.cpp
msgid "Maximum number of players that can be connected simultaneously."
@@ -5541,9 +5557,8 @@ msgid "Minimap scan height"
msgstr "Altezza di scansione della minimappa"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Minimum dig repetition interval"
msgstr "Intervallo di ripetizione per il piazzamento"
msgstr "Intervallo di ripetizione per il piazzamento/ rimozione"
#: src/settings_translation_file.cpp
msgid "Minimum limit of random number of large caves per mapchunk."
@@ -5556,7 +5571,7 @@ msgstr "Limite minimo di piccole grotte casuali per pezzo di mappa."
#: src/settings_translation_file.cpp
msgid "Minimum vertex count for mesh buffers"
msgstr ""
msgstr "Conteggio minimo di vertici per i buffer mesh"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5583,6 +5598,8 @@ msgid ""
"Modifier key bind for closing your world.\n"
"Requires ESC + the selected key to work."
msgstr ""
"Tasto modificatore per chiudere il tuo mondo.\n"
"Richiede ESC + il tasto selezionato per funzionare."
#: src/settings_translation_file.cpp
msgid "Modifies the size of the HUD elements."
@@ -5812,14 +5829,12 @@ msgstr ""
"mette in pausa se è aperta una finestra di dialogo."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "OpenGL debug"
msgstr "Debug del generatore mappa"
msgstr "Debug del generatore mappa (OpenGL)"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Optimize GUI for touchscreens"
msgstr "Usa il mirino per il touch screen"
msgstr "Ottimizza la GUI per i touchscreen"
#: src/settings_translation_file.cpp
msgid "Optional override for chat weblink color."
@@ -5909,7 +5924,6 @@ msgid "Post Processing"
msgstr "Post-elaborazione"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Prevent digging and placing from repeating when holding the respective "
"buttons.\n"
@@ -5918,7 +5932,8 @@ msgid ""
msgstr ""
"Impedisce la ripetizione di scavo e posizionamento quando si tengono premuti "
"i pulsanti del mouse.\n"
"Abilitalo quando scavi o piazzi troppo spesso per sbaglio."
"Abilitalo quando scavi o piazzi troppo spesso per sbaglio.\n"
"Sul touchscreen, questo influisce solo lo scavo."
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
@@ -5973,23 +5988,23 @@ msgstr "La versione del protocollo non coincide. "
#: src/settings_translation_file.cpp
msgid "Punch gesture"
msgstr ""
msgstr "Gesto di colpo"
#: src/settings_translation_file.cpp
msgid "Quicktune: decrement value"
msgstr ""
msgstr "Quicktune: diminuisci valore"
#: src/settings_translation_file.cpp
msgid "Quicktune: increment value"
msgstr ""
msgstr "Quicktune: aumenta valore"
#: src/settings_translation_file.cpp
msgid "Quicktune: select next entry"
msgstr ""
msgstr "Quicktune: seleziona la prossima voce"
#: src/settings_translation_file.cpp
msgid "Quicktune: select previous entry"
msgstr ""
msgstr "Quicktune:seleziona la voce precedente"
#: src/settings_translation_file.cpp
msgid ""
@@ -6004,6 +6019,8 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Radius to use when the block bounds HUD feature is set to near blocks."
msgstr ""
"Raggio da utilizzare quando la funzione HUD dei limiti del blocco è "
"impostata su blocchi vicini."
#: src/settings_translation_file.cpp
msgid "Raises terrain to make valleys around the rivers."
@@ -6343,11 +6360,12 @@ msgid ""
"Send names of online players to the serverlist. If disabled only the player "
"count is revealed."
msgstr ""
"Invia i nomi dei giocatori online alla lista server. Se disabilitato, viene "
"mostrato solo il numero di giocatori."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Send player names to the server list"
msgstr "Annuncia a questo elenco di server."
msgstr "Annuncia i nomi dei giocatori a questo elenco di server."
#: src/settings_translation_file.cpp
msgid "Server"
@@ -6470,11 +6488,10 @@ msgstr ""
"Valore minimo: 1.0; Valore massimo: 15.0"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Set to true to enable Shadow Mapping."
msgstr ""
"Impostata su vero abilita la Mappatura delle ombre.\n"
"Necessita l'attivazione degli shader."
"Impostata su vero abilita la Mappatura delle ombre. (Necessita l'attivazione "
"degli shader)"
#: src/settings_translation_file.cpp
msgid ""
@@ -6489,11 +6506,10 @@ msgid "Set to true to enable volumetric lighting effect (a.k.a. \"Godrays\")."
msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Set to true to enable waving leaves."
msgstr ""
"Impostata su vero abilita le foglie ondeggianti.\n"
"Necessita l'attivazione degli shader."
"Impostata su vero abilita le foglie ondeggianti. (Necessita l'attivazione "
"degli shader)"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -6504,11 +6520,10 @@ msgstr ""
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Set to true to enable waving plants."
msgstr ""
"Impostata su vero abilita le piante ondeggianti.\n"
"Necessita l'attivazione degli shader."
"Impostata su vero abilita le piante ondeggianti. (Necessita l'attivazione "
"degli shader.)"
#: src/settings_translation_file.cpp
msgid ""
@@ -6609,7 +6624,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Simulate translucency when looking at foliage in the sunlight."
msgstr ""
msgstr "Simula la translucidità osservando al fogliame esposto alla luce."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -6696,9 +6711,8 @@ msgid "Sneaking speed, in nodes per second."
msgstr "Velocità furtiva, in nodi al secondo."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Soft clouds"
msgstr "Nuvole in 3D"
msgstr "Nuvole 3D"
#: src/settings_translation_file.cpp
msgid "Soft shadow radius"
@@ -6760,9 +6774,8 @@ msgstr ""
"Scostamento tipo dell'aumento della curva di luce gaussiano."
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Static spawn point"
msgstr "Punto statico di comparsa"
msgstr "Punto statico di spawn"
#: src/settings_translation_file.cpp
msgid "Steepness noise"
@@ -6930,6 +6943,8 @@ msgid ""
"The delay in milliseconds after which a touch interaction is considered a "
"long tap."
msgstr ""
"Il ritardo in millisecondi dopo il quale un'interazione tattile è "
"considerata una pressione prolungata."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -7001,14 +7016,13 @@ msgstr ""
"Il valore predefinito è 1.0 (1/2 nodo)."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"The minimum time in seconds it takes between digging nodes when holding\n"
"the dig button."
msgstr ""
"Il tempo in secondi che intercorre tra il piazzamento dei nodi quando si "
"Il tempo in secondi che intercorre tra la rimozione dei nodi quando si "
"tiene\n"
"premuto il pulsante piazza."
"premuto il pulsante scava."
#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Polish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-07-06 11:01+0000\n"
"Last-Translator: nauta-turbidus <wiktor-t@hotmail.com>\n"
"PO-Revision-Date: 2025-09-29 16:02+0000\n"
"Last-Translator: Karol1165 <kutkarol1165@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/minetest/minetest/"
"pl/>\n"
"Language: pl\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.13-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -1380,9 +1380,9 @@ msgid "Rebuilding shaders..."
msgstr "Przebudowywanie shaderów..."
#: src/client/client.cpp
#, fuzzy, c-format
#, c-format
msgid "Saved screenshot to \"%s\""
msgstr "Zrzuty ekranu"
msgstr "Wykonano zrzut ekranu do ”%s”"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game: "

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Portuguese (Brazil) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-09-07 00:02+0000\n"
"PO-Revision-Date: 2025-09-26 22:02+0000\n"
"Last-Translator: Neil Rizen <danielsmmelo@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"minetest/minetest/pt_BR/>\n"
@@ -580,7 +580,7 @@ msgstr "Instalar [$1]"
#: builtin/mainmenu/content/dlg_package.lua
msgid "Issue Tracker"
msgstr "Sugerir Tópico"
msgstr "Rastreador de Problemas"
#: builtin/mainmenu/content/dlg_package.lua
msgid "Reviews"
@@ -1728,7 +1728,7 @@ msgstr "Nome do servidor: "
#: src/client/game_formspec.cpp
msgid "Change Password"
msgstr "Alterar a senha"
msgstr "Alterar a Senha"
#: src/client/game_formspec.cpp
msgid "Continue"
@@ -1865,19 +1865,16 @@ msgid "Down Arrow"
msgstr "Seta para Baixo"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "Tecla Menu"
msgstr "Tecla End"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Tecla Delete"
msgstr "Tecla Help"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Tecla de Zoom"
msgstr "Tecla Home"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1888,9 +1885,8 @@ msgid "Left Arrow"
msgstr "Seta Esquerda"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Ctrl Esquerdo"
msgstr "Clique Esquerdo"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1915,15 +1911,15 @@ msgstr "Tecla Menu"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Clique do Meio"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "Mouse X1"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "Mouse X2"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -2020,9 +2016,8 @@ msgid "Right Arrow"
msgstr "Seta Direita"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Ctrl direito"
msgstr "Clique Direito"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2046,9 +2041,8 @@ msgid "Scroll Lock"
msgstr "Scroll Lock"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Tecla Delete"
msgstr "Tecla Select"
#: src/client/keycode.cpp
msgid "Shift Key"
@@ -2059,9 +2053,8 @@ msgid "Space"
msgstr "Espaço"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Tecla de Parar"
msgstr "Tecla Tab"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2497,7 +2490,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "Ruído 3D que determina o número de cavernas por pedaço de mapa."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2510,10 +2502,9 @@ msgstr ""
"Suporte 3D.\n"
"Modos atualmente suportados:\n"
"- none: Nenhum efeito 3D.\n"
"- anaglyph: Sistema de cor Ciano/Magenta (Óculos 3D azul vermelho).\n"
"- interlaced: Sistema interlaçado (Óculos com lentes polarizadas).\n"
"- topbottom: Divide a tela em duas: uma em cima e outra em baixo.\n"
"- sidebyside: Divide a tela em duas: lado a lado.\n"
"- anaglyph: 3D com cores ciano/magenta.\n"
"- topbottom: Divide a tela em cima/embaixo.\n"
"- sidebyside: Divide a tela lado a lado.\n"
"- crossview: 3D de olhos cruzados"
#: src/settings_translation_file.cpp
@@ -2888,7 +2879,7 @@ msgstr "Suavização da câmera no modo cinematográfico"
#: src/settings_translation_file.cpp
msgid "Capture Tracy zones"
msgstr ""
msgstr "Capturar zonas de Tracy"
#: src/settings_translation_file.cpp
msgid ""
@@ -2896,6 +2887,9 @@ msgid ""
"You need to build with Tracy to use this, see doc/developing/profiling.md\n"
"for details."
msgstr ""
"Capture zonas de Tracy com o uso do analisador.\n"
"Você precisa ativar o Tracy para usar isso.\n"
"Veja doc/developing/profiling.md para mais detalhes."
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -3453,7 +3447,7 @@ msgstr "Opções de Desenvolvedor"
#: src/settings_translation_file.cpp
msgid "Disable if you only want to instrument with Tracy."
msgstr ""
msgstr "Desative se você quiser instrumentar com apenas o Tracy."
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -4856,7 +4850,7 @@ msgstr "Threshold dos lagos no gerador de mundo plano"
#: src/settings_translation_file.cpp
msgid "Language"
msgstr "Linguagem"
msgstr "Idioma"
#: src/settings_translation_file.cpp
msgid "Large cave depth"
@@ -5439,9 +5433,8 @@ msgid "Maximum users"
msgstr "Limite de usuários"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Measure time samples"
msgstr "Templos do deserto"
msgstr "Medir amostras de tempo"
#: src/settings_translation_file.cpp
msgid "Message of the day"

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Ukrainian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-08-14 09:02+0000\n"
"Last-Translator: Yof <Yof@users.noreply.hosted.weblate.org>\n"
"PO-Revision-Date: 2025-09-29 16:02+0000\n"
"Last-Translator: Tarás Lavrentiev <fromkaniv@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/minetest/"
"minetest/uk/>\n"
"Language: uk\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.13-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -975,7 +975,7 @@ msgstr "Назва відсутня"
#: builtin/mainmenu/dlg_register.lua builtin/mainmenu/tab_local.lua
#: builtin/mainmenu/tab_online.lua
msgid "Name"
msgstr "Ім'я"
msgstr "Назва"
#: builtin/mainmenu/dlg_register.lua builtin/mainmenu/tab_local.lua
#: builtin/mainmenu/tab_online.lua
@@ -1093,7 +1093,7 @@ msgstr ""
#: builtin/mainmenu/tab_about.lua
msgid "About"
msgstr "Про рушій"
msgstr "Про це"
#: builtin/mainmenu/tab_about.lua
msgid "Active Contributors"
@@ -1855,19 +1855,16 @@ msgid "Down Arrow"
msgstr "Вниз"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "Menu"
msgstr "Клавіша End"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "Delete"
msgstr "Клавіша Допомоги"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "Zoom"
msgstr "Клавіша Домівки"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1878,9 +1875,8 @@ msgid "Left Arrow"
msgstr "Вліво"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "Лівий Ctrl"
msgstr "Лівий клік"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1905,15 +1901,15 @@ msgstr "Menu"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "Середній клік"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "Миша X1"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "Миша X2"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -2010,9 +2006,8 @@ msgid "Right Arrow"
msgstr "Вправо"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "Правий Ctrl"
msgstr "Правий клік"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2036,9 +2031,8 @@ msgid "Scroll Lock"
msgstr "Scroll Lock"
#: src/client/keycode.cpp
#, fuzzy
msgid "Select Key"
msgstr "Delete"
msgstr "Клавіша Select"
#: src/client/keycode.cpp
msgid "Shift Key"
@@ -2049,9 +2043,8 @@ msgid "Space"
msgstr "Пробіл"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "Break"
msgstr "Клавіша Tab"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2478,7 +2471,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "3D шум що визначає кількість підземель на фрагмент мапи."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2492,7 +2484,6 @@ msgstr ""
"Зараз підтримуються:\n"
"- none: 3d вимкнено.\n"
"- anaglyph: 3d з блакитно-пурпурними кольорами.\n"
"- interlaced: підтримка полярізаційних екранів.\n"
"- topbottom: поділ екрану вертикально.\n"
"- sidebyside: поділ екрану горизонтально.\n"
"- crossview: 3d на основі автостереограми"
@@ -2860,7 +2851,7 @@ msgstr "Згладжування руху камери у кінорежимі"
#: src/settings_translation_file.cpp
msgid "Capture Tracy zones"
msgstr ""
msgstr "Зона захоплення Tracy"
#: src/settings_translation_file.cpp
msgid ""
@@ -2868,6 +2859,10 @@ msgid ""
"You need to build with Tracy to use this, see doc/developing/profiling.md\n"
"for details."
msgstr ""
"Захоплюйте зони Tracy за допомогою інструментації профайлера.\n"
"Вам потрібно збудувати з Tracy, щоб використовувати це, див. doc/developing/"
"profiling.md\n"
"для деталей."
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -3423,7 +3418,7 @@ msgstr "Розробницькі налаштування"
#: src/settings_translation_file.cpp
msgid "Disable if you only want to instrument with Tracy."
msgstr ""
msgstr "Вимкніть, якщо ви хочете лише інструментувати з Tracy."
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -5362,9 +5357,8 @@ msgid "Maximum users"
msgstr "Найбільше користувачів"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Measure time samples"
msgstr "Пустельні храми"
msgstr "Вимірювання зразків часу"
#: src/settings_translation_file.cpp
msgid "Message of the day"
@@ -6037,7 +6031,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Screenshots"
msgstr "Знімки екрана"
msgstr "Скріншоти"
#: src/settings_translation_file.cpp
msgid "Seabed noise"

View File

@@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: Vietnamese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-05-30 05:02+0000\n"
"Last-Translator: Quốc Kiệt Nguyễn Hữu <huuquockietn@tutamail.com>\n"
"PO-Revision-Date: 2025-09-24 12:28+0000\n"
"Last-Translator: dvchd <dvcuong.honda@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/minetest/"
"minetest/vi/>\n"
"Language: vi\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.12-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -74,9 +74,8 @@ msgstr ""
"'.help all' để xem danh sách về những câu lệnh có sẵn."
#: builtin/common/chatcommands.lua
#, fuzzy
msgid "[all | <cmd>] [-t]"
msgstr "[all | <câu lệnh>]"
msgstr "[all | <câu lệnh>] [-t]"
#: builtin/common/settings/components.lua
msgid "Browse"
@@ -91,9 +90,8 @@ msgid "Edit"
msgstr "Chỉnh sửa"
#: builtin/common/settings/components.lua
#, fuzzy
msgid "Remove keybinding"
msgstr "Liên kết phím."
msgstr "Loại bỏ phím liên kết"
#: builtin/common/settings/components.lua
msgid "Select directory"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-23 19:19+0200\n"
"PO-Revision-Date: 2025-08-09 01:02+0000\n"
"PO-Revision-Date: 2025-09-30 20:02+0000\n"
"Last-Translator: maxchen32 <maxchen32@users.noreply.hosted.weblate.org>\n"
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
"projects/minetest/minetest/zh_Hans/>\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.13-dev\n"
"X-Generator: Weblate 5.14-dev\n"
#: builtin/client/chatcommands.lua
msgid "Clear the out chat queue"
@@ -1204,7 +1204,7 @@ msgstr "Luanti 不自带任何子游戏。"
msgid ""
"Luanti is a game-creation platform that allows you to play many different "
"games."
msgstr "Luanti 是一游戏创作平台,可让你游玩各类游戏。"
msgstr "Luanti 是一游戏创作平台,可让你游玩各类游戏。"
#: builtin/mainmenu/tab_local.lua
msgid "New"
@@ -1839,19 +1839,17 @@ msgid "Down Arrow"
msgstr "⇩"
#: src/client/keycode.cpp
#, fuzzy
msgid "End Key"
msgstr "菜单键"
msgstr "End键"
#: src/client/keycode.cpp
#, fuzzy
msgid "Help Key"
msgstr "删除键"
msgstr "帮助键"
#: src/client/keycode.cpp
#, fuzzy
msgid "Home Key"
msgstr "缩放"
msgstr "Home键"
#: src/client/keycode.cpp
msgid "Insert"
@@ -1862,9 +1860,8 @@ msgid "Left Arrow"
msgstr "⇦"
#: src/client/keycode.cpp
#, fuzzy
msgid "Left Click"
msgstr "左Control键"
msgstr "鼠标左键"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1889,15 +1886,15 @@ msgstr "菜单键"
#: src/client/keycode.cpp
msgid "Middle Click"
msgstr ""
msgstr "鼠标中键"
#: src/client/keycode.cpp
msgid "Mouse X1"
msgstr ""
msgstr "鼠标X1键"
#: src/client/keycode.cpp
msgid "Mouse X2"
msgstr ""
msgstr "鼠标X2键"
#: src/client/keycode.cpp
msgid "Num Lock"
@@ -1994,9 +1991,8 @@ msgid "Right Arrow"
msgstr "⇨"
#: src/client/keycode.cpp
#, fuzzy
msgid "Right Click"
msgstr "右Control键"
msgstr "鼠标右键"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -2033,9 +2029,8 @@ msgid "Space"
msgstr "空格"
#: src/client/keycode.cpp
#, fuzzy
msgid "Tab Key"
msgstr "取消键"
msgstr "Tab键"
#: src/client/keycode.cpp
msgid "Up Arrow"
@@ -2452,7 +2447,6 @@ msgid "3D noise that determines number of dungeons per mapchunk."
msgstr "确定每个地图块的地牢数量的3D噪声。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -2466,7 +2460,6 @@ msgstr ""
"目前已支持:\n"
"- 无 (none):无 3D 输出。\n"
"- 色差式 (anaglyph):红蓝眼镜 3D。\n"
"- 偏振式 (interlaced):基于奇偶行的偏振屏支持。\n"
"- 上下分屏 (topbottom):将画面分为上下两部分。\n"
"- 左右分屏 (sidebyside):将画面分为左右两部分。\n"
"- 斜视 (crossview):斜视左右分屏 3D"
@@ -2680,13 +2673,12 @@ msgid ""
"optimization.\n"
"Stated in MapBlocks (16 nodes)."
msgstr ""
"在此距离下,服务器积极优化将哪些块发送到客户端。\n"
"小数值可能会极大地提高性能,\n"
"会造成可见的渲染故障。\n"
"有些方块将不会在水和洞穴中呈现,\n"
"有时在陆地上也不会呈现)\n"
"将其设置为大于 max_block_send_distance 的值\n"
"将禁用此优化。\n"
"在此距离下,服务器积极优化将哪些块发送到客户端。\n"
"小数值可能大幅提升性能,\n"
"代价是会造成可见的渲染异常\n"
"洞穴中的部分区块可能无法正确渲染)。\n"
"若将其设置为大于 max_block_send_distance 的值\n"
"则会禁用此优化。\n"
"以 MapBlocks16 个方块)为单位。"
#: src/settings_translation_file.cpp
@@ -3632,7 +3624,9 @@ msgstr ""
msgid ""
"Enables tradeoffs that reduce CPU load or increase rendering performance\n"
"at the expense of minor visual glitches that do not impact game playability."
msgstr "允许不影响可玩性的轻微视觉错误,以此减少 CPU 负载,或提高渲染性能。"
msgstr ""
"允许不影响可玩性的轻微视觉错误,\n"
"以此减少 CPU 负载,或提高渲染性能。"
#: src/settings_translation_file.cpp
msgid "Engine Profiler"
@@ -4300,7 +4294,7 @@ msgstr ""
msgid ""
"If disabled, \"Aux1\" key is used to fly fast if both fly and fast mode are\n"
"enabled."
msgstr "如果禁用“Aux1”键将用于快速飞行(飞行和快速模式同时启用)。"
msgstr "如果禁用“Aux1”键将用于快速飞行(如果飞行和快速模式同时启用。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4308,8 +4302,8 @@ msgid ""
"ContentDB to\n"
"check for package updates when opening the mainmenu."
msgstr ""
"如果启用并且安装了 ContentDB 包,Luanti 可能会在打开主菜单时联系 ContentDB "
"检查包更新。"
"如果启用此选项并且安装了 ContentDB 包,\n"
"Luanti 可能会在打开主菜单时连接 ContentDB 检查包更新。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4626,7 +4620,7 @@ msgstr "跳跃速度"
#: src/settings_translation_file.cpp
msgid "Key for decrementing the selected value in Quicktune."
msgstr ""
msgstr "用于在 Quicktune 中降低已选变量的数值的按键。"
#: src/settings_translation_file.cpp
msgid ""
@@ -4638,7 +4632,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Key for incrementing the selected value in Quicktune."
msgstr ""
msgstr "用于在 Quicktune 中提高已选变量的数值的按键。"
#: src/settings_translation_file.cpp
msgid "Key for moving fast in fast mode."
@@ -4970,7 +4964,6 @@ msgid "Map generation attributes specific to Mapgen v5."
msgstr "针对v5地图生成器的属性。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
@@ -4980,9 +4973,10 @@ msgid ""
"will appear instead."
msgstr ""
"针对v6地图生成器的属性。\n"
"'snowboimes'启用新版5生物群系系统。\n"
"当'snowbiomes'开启使丛林自动启用,\n"
"忽略'jungles'标签。"
"'snowboimes' 启用新版5生物群系系统。\n"
"当 'snowbiomes' 开启时,丛林自动启用,\n"
"忽略 'jungles' 标签。\n"
"启用 'temples' 标签将禁止沙漠神庙生成,取而代之的是普通地牢。"
#: src/settings_translation_file.cpp
msgid ""
@@ -5694,11 +5688,11 @@ msgstr "打击手势"
#: src/settings_translation_file.cpp
msgid "Quicktune: decrement value"
msgstr ""
msgstr "Quicktune降低变量数值"
#: src/settings_translation_file.cpp
msgid "Quicktune: increment value"
msgstr ""
msgstr "Quicktune提高变量数值"
#: src/settings_translation_file.cpp
msgid "Quicktune: select next entry"
@@ -7351,11 +7345,8 @@ msgid "Width of the selection box lines around nodes."
msgstr "结点周围的选择框的线宽。"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Will also disable autoforward, when active."
msgstr ""
"后退键。\n"
"在按下时也会取消自动前进。"
msgstr "在按下时也会取消自动前进。"
#: src/settings_translation_file.cpp
msgid "Window maximized"

View File

@@ -13,12 +13,14 @@ pkgs.mkShell {
pkgs.libjpeg
pkgs.libpng
pkgs.libGL
pkgs.luajit
pkgs.SDL2
pkgs.openal
pkgs.curl
pkgs.libvorbis
pkgs.libogg
pkgs.gettext
pkgs.gmp
pkgs.freetype
pkgs.sqlite
];

View File

@@ -523,7 +523,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
// The authentication methods we can use to enter sudo mode (=change password)
u32 m_sudo_auth_methods;
// The seed returned by the server in TOCLIENT_INIT is stored here
// The seed returned by the server in TOCLIENT_AUTH_ACCEPT is stored here
u64 m_map_seed = 0;
// Auth data

View File

@@ -3871,8 +3871,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = table->checkEvent();
}
} else if (s.ftype == f_DropDown) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUIComboBox *e = NULL;
if ((element) && (element->getType() == gui::EGUIET_COMBO_BOX)) {
@@ -3895,8 +3893,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
}
}
} else if (s.ftype == f_TabHeader) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUITabControl *e = nullptr;
if ((element) && (element->getType() == gui::EGUIET_TAB_CONTROL)) {
@@ -3907,8 +3903,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = itos(e->getActiveTab() + 1);
}
} else if (s.ftype == f_CheckBox) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
gui::IGUICheckBox *e = nullptr;
if ((element) && (element->getType() == gui::EGUIET_CHECK_BOX)) {
@@ -3922,11 +3916,9 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = "false";
}
} else if (s.ftype == f_ScrollBar) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
GUIScrollBar *e = nullptr;
if (element && element->getType() == gui::EGUIET_ELEMENT)
if (element && element->getType() == gui::EGUIET_SCROLL_BAR)
e = static_cast<GUIScrollBar *>(element);
if (e) {
@@ -3936,8 +3928,6 @@ void GUIFormSpecMenu::acceptInput(FormspecQuitMode quitmode)
fields[name] = "VAL:" + itos(e->getPos());
}
} else if (s.ftype == f_AnimatedImage) {
// No dynamic cast possible due to some distributions shipped
// without rtti support in Irrlicht
IGUIElement *element = getElementFromId(s.fid, true);
GUIAnimatedImage *e = nullptr;
if (element && element->getType() == gui::EGUIET_ELEMENT)

View File

@@ -165,6 +165,7 @@ class Mapgen {
u32 blockseed;
s16 *heightmap = nullptr;
biome_t *biomemap = nullptr;
// Chunk size in nodes
v3s16 csize;
BiomeGen *biomegen = nullptr;

View File

@@ -49,7 +49,7 @@ MapgenV6::MapgenV6(MapgenV6Params *params, EmergeParams *emerge)
// (5,2,5) generates very broken terrain
throw BaseException("MapgenV6: chunk size must be cubic");
}
if (csize.Y % 2 == 0) {
if (csize.Y % (MAP_BLOCKSIZE * 2) == 0) {
// weird ledges appear in some places
warningstream << "MapgenV6: chunk heights divisible by two are known "
"to be buggy." << std::endl;

View File

@@ -192,7 +192,7 @@ void Client::handleCommand_AccessDenied(NetworkPacket* pkt)
{
// The server didn't like our password. Note, this needs
// to be processed even if the serialization format has
// not been agreed yet, the same as TOCLIENT_INIT.
// not been agreed yet, the same as TOCLIENT_AUTH_ACCEPT.
m_access_denied = true;
if (pkt->getCommand() != TOCLIENT_ACCESS_DENIED) {

View File

@@ -123,7 +123,8 @@ class RemotePlayer : public Player
bool inventory_formspec_overridden = false;
/// returns PEER_ID_INEXISTENT when PlayerSAO is not ready
/// returns PEER_ID_INEXISTENT when PlayerSAO is either
/// not yet present or about to be removed (e.g. leave).
session_t getPeerId() const { return m_peer_id; }
void setPeerId(session_t peer_id) { m_peer_id = peer_id; }

View File

@@ -1618,7 +1618,7 @@ void Server::SendSpawnParticles(RemotePlayer *player,
const float radius_sq = radius * radius;
PlayerSAO *sao = player->getPlayerSAO();
if (!sao)
if (!sao || sao->isGone())
return;
std::ostringstream particle_batch_data(std::ios_base::binary);

View File

@@ -50,6 +50,8 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t p
m_armor_groups["immortal"] = 1;
}
// PlayerSAO::~PlayerSAO(): eventually deleted by `ActiveObjectMgr::removeObject`
void PlayerSAO::finalize(RemotePlayer *player, const std::set<std::string> &privs)
{
assert(player);

View File

@@ -339,7 +339,9 @@ void ServerMap::finishBlockMake(BlockMakeData *data,
/* Border blocks are grabbed during
generation but mustn't be marked generated. */
if (bp >= bpmin && bp <= bpmax) {
if (bp.X >= bpmin.X && bp.X <= bpmax.X
&& bp.Y >= bpmin.Y && bp.Y <= bpmax.Y
&& bp.Z >= bpmin.Z && bp.Z <= bpmax.Z) {
block->setGenerated(true);
// Set timestamp to ensure correct application
// of LBMs and other stuff.